国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP操作redis實現的分頁列表,新增,刪除功能封裝類與用法示例

2024-05-05 00:04:52
字體:
來源:轉載
供稿:網友

本文實例講述了PHP操作redis實現的分頁列表,新增,刪除功能封裝類與用法。分享給大家供大家參考,具體如下:

<?php/* * redis 分頁數據類庫 */class redisPage{  protected $_redis;  protected $_redis_ip = '127.0.0.1'; //ip  protected $_redis_port = 6379; //端口  protected $_redis_db = 0; //數據庫號  protected $_hash_prefix = 'my_data'; //前綴名稱  public function __construct($ip='',$port='',$db='',$hash_prefix=''){    if($ip != '') $this->_redis_ip = $ip;    if($port != '') $this->_redis_port = $port;    if($db != '') $this->_redis_db = $db;    if($hash_prefix != '') $this->_hash_prefix = $hash_prefix;    $this->_redis = new Redis();    $this->_redis->connect($this->_redis_ip, $this->_redis_port);    $this->_redis->select($this->_redis_db);  }  /*   * 添加記錄   * @param $id id   * @param $data hash數據   * @param $hashName Hash 記錄名稱   * @param $SortName Redis SortSet 記錄名稱   * @param $redis Redis 對象   * @return bool   */  public function set_redis_page_info($id,$data){    if(!is_numeric($id) || !is_array($data)) return false;    $hashName = $this->_hash_prefix.'_'.$id;    $this->_redis->hMset($hashName, $data);    $this->_redis->zAdd($this->_hash_prefix.'_sort',$id,$id);    return true;  }  /*   * 獲取分頁數據   * @param $page 當前頁數   * @param $pageSize 每頁多少條   * @param $hashName Hash 記錄名稱   * @param $SortName Redis SortSet 記錄名稱   * @param $redis Redis 對象   * @param $key 字段數組 不傳為取出全部字段   * @return array   */  public function get_redis_page_info($page,$pageSize,$key=array()){    if(!is_numeric($page) || !is_numeric($pageSize)) return false;    $limit_s = ($page-1) * $pageSize;    $limit_e = ($limit_s + $pageSize) - 1;    $range = $this->_redis->ZRANGE($this->_hash_prefix.'_sort',$limit_s,$limit_e); //指定區間內,帶有 score 值(可選)的有序集成員的列表。    $count = $this->_redis->zCard($this->_hash_prefix.'_sort'); //統計ScoreSet總數    $pageCount = ceil($count/$pageSize); //總共多少頁    $pageList = array();    foreach($range as $qid){      if(count($key) > 0){        $pageList[] = $this->_redis->hMGet($this->_hash_prefix.'_'.$qid,$key); //獲取hash表中所有的數據      }else{        $pageList[] = $this->_redis->hGetAll($this->_hash_prefix.'_'.$qid); //獲取hash表中所有的數據      }    }    $data = array(      'data'=>$pageList, //需求數據      'page'=>array(        'page'=>$page, //當前頁數        'pageSize'=>$pageSize, //每頁多少條        'count'=>$count, //記錄總數        'pageCount'=>$pageCount //總頁數      )    );    return $data;  }  /*   * 刪除記錄   * @param $id id   * @param $hashName Hash 記錄名稱   * @param $SortName Redis SortSet 記錄名稱   * @param $redis Redis 對象   * @return bool   */  public function del_redis_page_info($id){    if(!is_array($id)) return false;    foreach($id as $value){      $hashName = $this->_hash_prefix.'_'.$value;      $this->_redis->del($hashName);      $this->_redis->zRem($this->_hash_prefix.'_sort',$value);    }    return true;  }  /*   * 清空數據   * @param string $type db:清空當前數據庫 all:清空所有數據庫   * @return bool   */  public function clear($type='db'){    if($type == 'db'){      $this->_redis->flushDB();    }elseif($type == 'all'){      $this->_redis->flushAll();    }else{      return false;    }    return true;  }}//數據庫$host='localhost';$user='root';$psd='';$dbname='china';$link = @mysql_connect($host,$user,$psd);mysql_select_db($dbname,$link);mysql_query("set names utf8");$SQL = "SELECT * FROM js_collection_node order by nodeid asc limit 100 ";$query = mysql_query($SQL);$redis = new redisPage('127.0.0.1',6379,0,'collection_node'); //實例化對象$redis->clear(); //測試清空數據while($info = mysql_fetch_assoc($query)){  $redis->set_redis_page_info($info['nodeid'],$info); //插入數據}$redis->del_redis_page_info(array(61)); //刪除數據$data = $redis->get_redis_page_info(1,10,array('nodeid','name')); //獲取分頁數據print_r($data);?>

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 库尔勒市| 离岛区| 平阳县| 萍乡市| 即墨市| 平江县| 会理县| 寿光市| 澳门| 乌鲁木齐市| 博罗县| 商洛市| 离岛区| 永川市| 邵阳市| 孝昌县| 元氏县| 板桥市| 钦州市| 驻马店市| 保靖县| 葵青区| 阿尔山市| 祥云县| 霸州市| 砀山县| 武义县| 巨野县| 应城市| 建水县| 富源县| 临沧市| 都安| 昌吉市| 六盘水市| 安龙县| 奇台县| 休宁县| 南康市| 华安县| 额敏县|