当前位置: 首页>>代码示例>>PHP>>正文


PHP General::setCacheID方法代码示例

本文整理汇总了PHP中General::setCacheID方法的典型用法代码示例。如果您正苦于以下问题:PHP General::setCacheID方法的具体用法?PHP General::setCacheID怎么用?PHP General::setCacheID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在General的用法示例。


在下文中一共展示了General::setCacheID方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: get

 public function get($param)
 {
     $this->getAdapter()->exec("set @row_num = 0");
     $this->getAdapter()->exec("set @co_post = 0");
     $bind = array();
     $bind['dt_fuso'] = $_SESSION['tw_auth']['dt_fuso'];
     $bind['limit'] = $param['limit'] ? $param['limit'] : 3;
     $sql = "SELECT\n\t        c.co_post,\n            u.co_usuario,\n\t        u.nu_usuario,\n\t        u.no_email,\n\t        u.no_usuario,\n\t        i.nu_imagem,\n\t        c.nu_comentario,\n\t        CONVERT_TZ(c.dt_cadastro,'+00:00',:dt_fuso) dt_cadastro,\n\t        c.dt_cadastro dt_cadastro_utc,\n\t        c.tx_comentario\n        FROM tb_comentario c\n        JOIN (\n\t        SELECT \n\t        co_comentario\n\t        FROM (\n\t\t        SELECT\n\t\t        co_post,\n\t\t        co_comentario,\n\t\t        if(@co_post <> co_post,@row_num := 0,@row_num := @row_num + 1) row_num,\n\t\t        (@co_post := co_post) co_post_ctr\n\t\t        FROM \n\t\t        (SELECT * FROM tb_comentario ORDER BY co_comentario desc) c\n\t\t        WHERE ";
     if ($param['co_post']) {
         if (!is_array($param['co_post']) || count($param['co_post']) == 1) {
             $sql .= " co_post = :co_post and ";
             $bind['co_post'] = current($param['co_post']);
         } else {
             $sql .= " co_post IN (" . implode(',', $param['co_post']) . ") and ";
         }
     }
     if ($param['nu_post']) {
         $sql .= " co_post = (SELECT co_post FROM tb_post \n                              WHERE nu_post = :nu_post) and ";
         $bind['nu_post'] = $param['nu_post'];
     }
     $sql .= " st_ativo = 1\n\t\t        ORDER BY co_post\n\t        ) c\n\t        WHERE c.row_num < :limit\n        ) tc ON tc.co_comentario = c.co_comentario\n        JOIN tb_usuario u ON u.co_usuario = c.co_usuario\n        LEFT JOIN tb_imagem i ON i.co_imagem = u.co_imagem\n        ORDER BY c.co_post, c.dt_cadastro ASC";
     $cache_id = "cmt_" . md5(serialize($param) . serialize($bind));
     General::setCacheID('cmt', $cache_id);
     $cache = General::cache(10);
     $rs = $cache->load($cache_id);
     if (!$rs) {
         $rs = $this->getAdapter()->fetchAll($sql, $bind);
         $cache->save($rs, $cache_id);
     }
     $arReturn = array();
     if (count($rs)) {
         foreach ($rs as $item) {
             $arReturn[$item['co_post']][] = $item;
         }
         return $arReturn;
     } else {
         return array();
     }
 }
开发者ID:clagomess,项目名称:trashofweb,代码行数:39,代码来源:Comentario.php

示例2: get

 public function get($param)
 {
     $bind = array();
     $bind['dt_fuso'] = $_SESSION['tw_auth']['dt_fuso'];
     $sql = "SELECT\n\t\t\tp.co_post,\n\t\t\tp.nu_post,\n            u.co_usuario,\n\t\t\tu.nu_usuario,\n\t\t\tu.no_email,\n\t\t\tu.no_usuario,\n\t\t\tp.tx_post,\n\t\t\tCONVERT_TZ(p.dt_cadastro,'+00:00',:dt_fuso) dt_cadastro,\n\t\t\tp.dt_cadastro dt_cadastro_utc,\n\t\t\ttp.qt_comentario,\n\t\t\ti.nu_imagem\n\t\tFROM\n\t\ttb_post p\n\t\tJOIN\n\t\t( \n            SELECT\n\t\t\t    p.co_post,\n\t\t\t    if(c.co_comentario is null,0,count(*)) qt_comentario\n\t\t    FROM\n\t\t    tb_post p\n\t\t    JOIN tb_usuario u\n\t\t\t    ON u.co_usuario = p.co_usuario ";
     if ($param['tipo'] == "amigo") {
         $sql .= " JOIN tb_seguidor s\n\t            ON s.co_usuario_seguido = u.co_usuario ";
     }
     $sql .= " LEFT JOIN tb_comentario c\n\t                ON c.co_post = p.co_post AND c.st_ativo = 1\n                WHERE p.st_ativo = 1\n\t            AND u.st_ativo = 1 ";
     if ($param['tipo'] == "rede") {
         $sql .= " AND u.co_pais = :co_pais ";
         $bind['co_pais'] = $_SESSION['tw_auth']['co_pais'];
     }
     if ($param['tipo'] == "amigo") {
         $sql .= " AND s.co_usuario_seguidor = :co_usuario_seguidor";
         $bind['co_usuario_seguidor'] = $_SESSION['tw_auth']['co_usuario'];
     }
     if ($param['tipo'] == "usuario") {
         if ($param['nu_usuario']) {
             $sql .= " AND u.nu_usuario = :nu_usuario";
             $bind['nu_usuario'] = $param['nu_usuario'];
         } else {
             $sql .= " AND u.co_usuario = :co_usuario";
             $bind['co_usuario'] = $param['co_usuario'];
         }
     }
     if ($param['tipo'] == "id") {
         $sql .= " AND p.nu_post = :nu_post";
         $bind['nu_post'] = $param['nu_post'];
     }
     if ($param['uptime']) {
         $sql .= " AND p.dt_cadastro < :dt_cadastro";
         $bind['dt_cadastro'] = $param['uptime'];
     }
     $sql .= " GROUP BY p.co_post\n                    ORDER BY p.dt_cadastro desc\n                    LIMIT 10 ) tp ON tp.co_post = p.co_post\n        JOIN tb_usuario u ON u.co_usuario = p.co_usuario\n        LEFT JOIN tb_imagem i ON i.co_imagem = u.co_imagem";
     $cache_id = "pst_" . md5(serialize($param) . serialize($bind));
     $cache = General::cache(10);
     General::setCacheID('pst', $cache_id);
     $rs = $cache->load($cache_id);
     if (!$rs) {
         $rs = $this->getAdapter()->fetchAll($sql, $bind);
         $cache->save($rs, $cache_id);
     }
     unset($cache);
     $arIDPost = array();
     $arReturn = array();
     if (count($rs)) {
         foreach ($rs as $item) {
             if ($item['qt_comentario'] > 0) {
                 $arIDPost[] = $item['co_post'];
             }
         }
         $arComentario = array();
         if (count($arIDPost)) {
             $arComentario = Model_Comentario::getInstance()->get(array("co_post" => $arIDPost, "limit" => $param['tipo'] == "id" ? 100 : 3));
         }
         foreach ($rs as $item) {
             $arReturn[$item['co_post']] = $item;
             $arReturn[$item['co_post']]['comentario'] = $arComentario[$item['co_post']];
         }
         unset($arComentario);
         unset($rs);
         unset($arIDPost);
         return $arReturn;
     } else {
         return array();
     }
 }
开发者ID:clagomess,项目名称:trashofweb,代码行数:68,代码来源:Post.php

示例3: seguidor

 public function seguidor($param = array())
 {
     $sql = "SELECT \n\t                u.nu_usuario,\n\t                u.no_email,\n\t                u.no_usuario,\n                    i.nu_imagem\n                FROM tb_seguidor s\n                JOIN tb_usuario u ";
     if ($param['tipo'] == "seguidor") {
         $sql .= "ON u.co_usuario = s.co_usuario_seguidor";
     } else {
         $sql .= "ON u.co_usuario = s.co_usuario_seguido";
     }
     $sql .= " LEFT JOIN tb_imagem i ON\n                    i.co_imagem = u.co_imagem\n                WHERE ";
     if ($param['tipo'] == "seguidor") {
         $sql .= "s.co_usuario_seguido = :co_usuario";
     } else {
         $sql .= "s.co_usuario_seguidor = :co_usuario";
     }
     $sql .= " AND u.st_ativo = 1\n                ORDER BY u.dt_ultimo_acesso desc, i.nu_imagem DESC\n                LIMIT 12";
     $bind = array();
     $bind['co_usuario'] = $param['co_usuario'];
     $cache = General::cache(60 * 10);
     $cache_id = "seg_" . md5(serialize($param) . serialize($bind));
     General::setCacheID('seg', $cache_id);
     $rs = $cache->load($cache_id);
     if (!$rs) {
         $rs = $this->getAdapter()->fetchAll($sql, $bind);
         $cache->save($rs, $cache_id);
     }
     return $rs;
 }
开发者ID:clagomess,项目名称:trashofweb,代码行数:27,代码来源:Usuario.php


注:本文中的General::setCacheID方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。