1、SINTER

说明:多key之间取交集数据

key1 = {a,b,c,d} key2 = {c} key3 = {a,c,e} SINTER key1 key2 key3 = {c}

2、sadd

说明:添加队列数据

3、SUNION

说明:多key之间取并集数据

4、取出lRange多少,按区间查询,再移除取出的数据

$id = 1;

$key = 'phpTest:'.$id;

$result = $this->redis->lRange($key,0,1000);

$this->redis->lTrim($key,1000,-1);

echo '<pre>';

print_r($result);

$result1 = $this->redis->lRange($key,0,-1);

echo '<pre>';

print_r($result1);

5、redis加锁

protected function redisLock($flag, $expire = 1, $times = 1) {

$lock = $this->redis->setnx($flag, time() + $expire);

$now = time();

//不成功

while ($lock != 1) {

$now++;

$time = $now + $expire;

//再重新创建

$lock = $this->redis->setnx($flag, $time);

if ($lock == 1 || ($now > $this->redis->get($flag) && $now > $this->redis->getset($flag, $time))) {//争锁

break;

} else {

sleep(0.1);//0.5s

}

}

return true;

}

/**

* 释放锁

* @param  String  $key 锁标识

* @return Boolean

*/

protected function redisUnlock($key){

return $this->redis->del($key);

}

6、哈希队列(不同List列队)

$redis->hSet('表名 = key','字段名','值');

$redis->hExists('表名','字段名');

$redis->hDel('表名','字段名');

$redis->hGetAll('表名'); // 这个数据不建议查超过上万的数据,会挂

$redis->hKeys('表名','字段名'); // 查询出字段名,这个很快

7、sAdd,sMembers集合,相对于set(字符串)而言,这个可以存放多个,相对于list(列表)而言,是去重的。

后续还会更新,谢谢各位亲关注!

05-28 20:37