redis 相关操作
2016-08-10 11:34
281 查看
<?php class RedisTool extends CI_Controller { public $redis; public function __construct(){ parent::__construct(); $this->load->database(); $this->redis = new Redis(); $this->redis->connect("127.0.0.1", 6379); } public function index(){ var_dump($this->redis); exit; } //Redis KEY 相关操作 public function delkey(){ $key = $_GET['key']; $r = $this->redis->del($key); var_dump($r); exit; } public function existskey(){ $key = $_GET['key']; $r = $this->redis->exists($key); var_dump($r); exit; } /** * 给 KEY 设置生存时间,单位为秒,当 KEY 过期时会被自动删除 */ public function expirekey(){ $key = $_GET['key']; $r = $this->redis->expire($key, 60); var_dump($r); exit; } /** * 给 KEY 设置生存时间,设置成时间戳 */ public function expireatkey(){ $key = $_GET['key']; $expire = time() + 60; $r = $this->redis->expireat($key, $expire); var_dump($r); exit; } /** * 查找所有符合匹配模式 pattern 的 key,例:KEYS *, KEYS h?llo */ public function keyskey(){ $r = $this->redis->keys('*'); var_dump($r); exit; } //给 KEY 移除生存时间 public function persistkey(){ $key = $_GET['key']; $r = $this->redis->persist($key); var_dump($r); exit; } /** * 给指定的 列表、集合、有序集合 中的key排序 * sort key | sort key desc * 第二个参数为数组,包括:sort => 'desc', 'limit' => array(0,3) */ public function sortkey(){ $key = $_GET['key']; $r = $this->redis->sort($key, array('sort' => 'desc', 'limit' => array(0,3))); print_r($r); exit; } //===================== String 字符串类型 相关操作====================================== /** * set key val [EX seconds] [PX milliseconds] 可以通过参数设置生存时间 */ public function setstr(){ $key = $_GET['key']; $value = $_GET['value']; $r = $this->redis->set($key, $value, array('EX' => 600)); var_dump($r); exit; } public function getstr(){ $key = $_GET['key']; $r = $this->redis->get($key); var_dump($r); exit; } //给 key 追加字符串 public function appendstr(){ $key = $_GET['key']; $val = $_GET['value']; $r = $this->redis->append($key, $val); var_dump($r); exit; } //自减操作 decr, 返回自减后的数值 public function decrstr(){ $key = $_GET['key']; $r = $this->redis->decr($key); var_dump($r); exit; } //key的值减去val public function decrbystr(){ $key = $_GET['key']; $val = $_GET['value']; $r = $this->redis->decrby($key, $val); var_dump($r); exit; } public function incrstr(){ $key = $_GET['key']; $r = $this->redis->incr($key); var_dump($r); exit; } public function incrbystr(){ $key = $_GET['key']; $val = $_GET['value']; $r = $this->redis->incrby($key, $val); var_dump($r); exit; } public function mgetstr(){ $keyarr = array('name','age'); $r = $this->redis->mget($keyarr); var_dump($r); exit; } public function msetstr(){ $arr = array( 'dog' => 'dudu', 'cat' => 'huar', 'book' => 'xiaoshuo', ); $r = $this->redis->mset($arr); var_dump($r); exit; } // 获取 key 的值的长度 public function strlenstr(){ $key = $_GET['key']; $r = $this->redis->strlen($key); var_dump($r); exit; } // hash 相关操作 ============================================================================== public function hsethash(){ $key = $_GET['key']; $valarr = array( 'name' => 'mufan', 'age' => '28', 'work' => 'phper', ); foreach($valarr as $k => $v){ $r = $this->redis->hset($key, $k, $v); } //$r = $this->redis->hset($key, $valarr); var_dump($r); exit; } //获取一个hash对象中的所有键值对,返回一个数组 public function hgetallhash(){ $key = $_GET['key']; $r = $this->redis->hgetall($key); print_r($r); exit; } public function hgethash(){ $key = $_GET['key']; $field = $_GET['field']; $r = $this->redis->hget($key, $field); var_dump($r); exit; } public function hexistshash(){ $key = $_GET['key']; $field = $_GET['field']; $r = $this->redis->hexists($key, $field); var_dump($r); exit; } public function hdelhash(){ $key = $_GET['key']; $fieldarr = array('name','age'); foreach($fieldarr as $v){ $r = $this->redis->hdel($key, $v); } var_dump($r); exit; } public function hincrbyhash(){ $key = $_GET['key']; $field = $_GET['field']; $val = $_GET['value']; $r = $this->redis->hincrby($key, $field, $val); var_dump($r); exit; } public function hkeyshash(){ $key = $_GET['key']; $r = $this->redis->hkeys($key); print_r($r); exit; } public function hvalshash(){ $key = $_GET['key']; $r = $this->redis->hvals($key); print_r($r); exit; } public function hlenhash(){ $key = $_GET['key']; $r = $this->redis->hlen($key); var_dump($r); exit; } public function hmsethash(){ $key = $_GET['key']; $fieldarr = array( 'name' => 'xiaofan', 'age' => '28', 'address' => 'bj', ); $r = $this->redis->hmset($key, $fieldarr); var_dump($r); exit; } public function hmgethash(){ $key = $_GET['key']; $arr = array('name','age','address'); $r = $this->redis->hmget($key, $arr); print_r($r); exit; } //===============LIST 相关操作================================================= public function lpushlist(){ $key = $_GET['key']; $mylist = array('12345','23456','34567','45678','56789'); foreach($mylist as $v){ $r = $this->redis->lpush($key, $v); } var_dump($r); exit; } public function lsetlist(){ $key = $_GET['key']; $index = 1; $val = '12345678'; $r = $this->redis->lset($key, $index, $val); var_dump($r); exit; } public function lpoplist(){ $key = $_GET['key']; $r = $this->redis->lpop($key); var_dump($r); exit; } public function rpushlist(){ $key = $_GET['key']; $valarr = array('a','b','c','c','d','e','f','g','h','i','o'); foreach($valarr as $v){ $r = $this->redis->rpush($key, $v); } var_dump($v); exit; } public function rpoplist(){ $key = $_GET['key']; $r = $this->redis->rpop($key); var_dump($r); exit; } public function llenlist(){ $key = $_GET['key']; $r = $this->redis->llen($key); var_dump($r); exit; } public function lrangelist(){ $key = $_GET['key']; $start = 0; $stop = 10; $r = $this->redis->lrange($key, $start, $stop); var_dump($r); exit; } //================集合相关操作========================================= //set中添加元素 public function saddset(){ $key = $_GET['key']; $valarr = array('test','user','member','uid','fans'); foreach($valarr as $v){ $r = $this->redis->sadd($key, $v); } var_dump($r); exit; } //获取set中的所有元素 public function smembersset(){ $key = $_GET['key']; $r = $this->redis->smembers($key); print_r($r); exit; } public function scardset(){ $key = $_GET['key']; $r = $this->redis->scard($key); var_dump($r); exit; } public function sdiffset(){ $key1 = $_GET['key1']; $key2 = $_GET['key2']; $r = $this->redis->sdiff($key1, $key2); print_r($r); exit; } public function sdiffstoreset(){ $key1 = $_GET['key1']; $key2 = $_GET['key2']; $r = $this->redis->sdiffstore('destination', $key1, $key2); var_dump($r); exit; } public function sinterset(){ $key1 = $_GET['key1']; $key2 = $_GET['key2']; $r = $this->redis->sinter($key1, $key2); print_r($r); exit; } public function sismemberset(){ $key = $_GET['key']; $val = $_GET['val']; $r = $this->redis->sismember($key, $val); var_dump($r); exit; } public function smoveset(){ $key1 = $_GET['key1']; $key2 = $_GET['key2']; $val = $_GET['val']; $r = $this->redis->smove($key1, $key2, $val); var_dump($r); exit; } public function sremset(){ $key = $_GET['key']; $val = $_GET['val']; $r = $this->redis->srem($key, $val); var_dump($r); exit; } //======================有序集合相关操作======================== public function zaddzset(){ $key = $_GET['key']; $score = $_GET['score']; $val = $_GET['val']; $r = $this->redis->zadd($key, $score, $val); var_dump($r); exit; } public function zcardzset(){ $key = $_GET['key']; $r = $this->redis->zcard($key); var_dump($r); exit; } 4000 public function zcountzset(){ $key = $_GET['key']; $r = $this->redis->zcount($key, 1, 2); var_dump($r); exit; } public function zincrbyzset(){ $key = $_GET['key']; $member = $_GET['member']; $r = $this->redis->zincrby($key, 5, $member); var_dump($r); exit; } public function zrangezset(){ $key = $_GET['key']; $r = $this->redis->zrange($key, 4, 8); var_dump($r); exit; } public function zrangebyscorezset(){ $key = $_GET['key']; $r = $this->redis->zrangebyscore($key, 1, 20, array('withscores' => TRUE,'limit' => array(0,4))); print_r($r); exit; } public function zrankzset(){ $key = $_GET['key']; $mem = $_GET['mem']; $r = $this->redis->zrank($key, $mem); var_dump($r); exit; } public function zremzset(){ $key = $_GET['key']; $mem = $_GET['mem']; $r = $this->redis->zrem($key, $mem); var_dump($r); exit; } public function zremrangebyscorezset(){ $key = $_GET['key']; $r = $this->redis->zremrangebyscore($key, 2, 5); var_dump($r); exit; } public function zscorezset(){ $key = $_GET['key']; $mem = $_GET['mem']; $r = $this->redis->zscore($key, $mem); var_dump($r); exit; } }
相关文章推荐
- 一:redis 的string类型相关操作
- 四:redis的sets类型相关操作(有序和无序集合)
- PHP操作Redis LIST ,SET, HASH 的相关命令 (一)
- Redis常用数据类型及其相关操作
- Java 对redis 的操作及相关内容
- Redis系列-key相关主要操作函数
- redis中有序集合zset的相关操作
- Redis系列(3)--- Redis key相关的操作
- Redis系列-key相关主要操作函数
- redis相关操作
- 三:redis的List类型相关操作
- 一:redis 的string类型 - 相关操作
- 四:redis的sets类型 - 相关操作(有序和无序集合)
- redis学习篇(五)-----set类型和sorted set类型及相关操作
- redisTemplate 操作及相关配置学习笔记
- 二:redis 的hash类型相关操作
- spring data redis RedisTemplate操作redis相关用法
- redis相关操作大全
- Redis数据类型的相关操作
- Redis相关操作