国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - PHP操作redis實現(xiàn)的分頁列表,新增,刪除功能封裝類與用法示例

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

2019-09-16 16:21燈火cj闌珊 PHP教程

這篇文章主要介紹了PHP操作redis實現(xiàn)的分頁列表,新增,刪除功能封裝類與用法,結(jié)合實例形式分析了php針對redis數(shù)據(jù)庫基本的連接、查詢、添加、分頁等操作封裝與使用技巧,需要的朋友可以參考下

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

<?php
/*
 * redis 分頁數(shù)據(jù)類庫
 */
class redisPage{
  protected $_redis;
  protected $_redis_ip = '127.0.0.1'; //ip
  protected $_redis_port = 6379; //端口
  protected $_redis_db = 0; //數(shù)據(jù)庫號
  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數(shù)據(jù)
   * @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;
  }
  /*
   * 獲取分頁數(shù)據(jù)
   * @param $page 當(dāng)前頁數(shù)
   * @param $pageSize 每頁多少條
   * @param $hashName Hash 記錄名稱
   * @param $SortName Redis SortSet 記錄名稱
   * @param $redis Redis 對象
   * @param $key 字段數(shù)組 不傳為取出全部字段
   * @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); //指定區(qū)間內(nèi),帶有 score 值(可選)的有序集成員的列表。
    $count = $this->_redis->zCard($this->_hash_prefix.'_sort'); //統(tǒng)計ScoreSet總數(shù)
    $pageCount = ceil($count/$pageSize); //總共多少頁
    $pageList = array();
    foreach($range as $qid){
      if(count($key) > 0){
        $pageList[] = $this->_redis->hMGet($this->_hash_prefix.'_'.$qid,$key); //獲取hash表中所有的數(shù)據(jù)
      }else{
        $pageList[] = $this->_redis->hGetAll($this->_hash_prefix.'_'.$qid); //獲取hash表中所有的數(shù)據(jù)
      }
    }
    $data = array(
      'data'=>$pageList, //需求數(shù)據(jù)
      'page'=>array(
        'page'=>$page, //當(dāng)前頁數(shù)
        'pageSize'=>$pageSize, //每頁多少條
        'count'=>$count, //記錄總數(shù)
        'pageCount'=>$pageCount //總頁數(shù)
      )
    );
    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;
  }
  /*
   * 清空數(shù)據(jù)
   * @param string $type db:清空當(dāng)前數(shù)據(jù)庫 all:清空所有數(shù)據(jù)庫
   * @return bool
   */
  public function clear($type='db'){
    if($type == 'db'){
      $this->_redis->flushDB();
    }elseif($type == 'all'){
      $this->_redis->flushAll();
    }else{
      return false;
    }
    return true;
  }
}
//數(shù)據(jù)庫
$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(); //測試清空數(shù)據(jù)
while($info = mysql_fetch_assoc($query)){
  $redis->set_redis_page_info($info['nodeid'],$info); //插入數(shù)據(jù)
}
$redis->del_redis_page_info(array(61)); //刪除數(shù)據(jù)
$data = $redis->get_redis_page_info(1,10,array('nodeid','name')); //獲取分頁數(shù)據(jù)
print_r($data);
?>

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

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美日韩在线一区二区 | 欧美一区二区三区在线观看视频 | 成人在线观看免费 | 精品欧美一区二区三区久久久 | 91欧美激情一区二区三区成人 | 亚洲成人精品一区 | 精品久久久久一区二区国产 | 欧美一区二区在线 | 中文字幕综合 | 亚洲一区二区三区四区的 | 免费的一级黄色片 | 亚洲男人网 | 天天操导航 | 一级大片一级一大片 | 亚洲精品一区 | 欧美国产日韩一区 | 精品三区 | 中文字幕在线观看 | 三级在线观看 | 男女视频网站 | 一区二区三区久久 | 中国一级特黄毛片大片 | 天天操,夜夜操 | 中文字幕一区在线 | 免费在线一区二区 | 超碰一区二区 | 国产日产久久高清欧美一区 | 精品久久久久久久久久久下田 | 久久久人成影片一区二区三区 | 中文字幕亚洲欧美日韩在线不卡 | 免费观看日本视频 | 午夜激情影院 | 午夜精品久久久久 | 亚洲视频精品 | 波多野结衣三区 | 免费视频黄 | 久久国产成人 | 日日操夜夜操天天操 | 国产精品久久久久久久久免费 | 亚洲国产中文在线观看 | 国产精品欧美大片 |