redis学习笔记之键操作
作用:键操作常用来管理管理 redis 的键
- 键的删除
syn:$redis->del(k1,k2)
return:成功返回删除键的数量,失败返回0
$redis->set('name','rcj');
$redis->set('name1','rcj2');
echo $redis->del('name','name1');//2
- 检测键是否存在
syn:$redis->exists()
return:存在返回 1 ,否则返回 0
$redis->set('name','test');
echo $redis->exists('name')//1
- 键的过期时间
- 设置过期时间
syn:$redis->expire(key,secd)
return:成功返回1,不存在key或者不能设置返回0
$redis->set('name','test');
echo $redis->expire('name',60)//1
还有expireat(key,时间戳),pexpire(key,secd*1000),pexpireat(key,时间戳(毫秒))
perstst(key)移除给定key的过期剩余时间,使之永不失效
- 获取剩余时间
syn:$redis->ttl(key)
return:永久数据返回 -1 找不到值返回 -2 有设定过期时间返回剩下的时限(秒为单位)
$redis->EXPIRE('name',60);
echo $redis->ttl('name');//60
$redis->PERSIST('name');
echo $redis->ttl('name');//-1
pttl(key)类似ttl,不过pttl返回的是毫秒为单位的
- 键的查找
syn:$redis->keys(表达式)
return:返回查找到的所有符合条件的keyname,array()
for ($i=0; $i < 5; $i++) {
$redis->set('name'.$i,'test'.$i);
}
print_r($redis->keys('*'));
print_r($redis->keys('name*'));
- 键的移动
syn:$redis->move(key,目标库)
return:成功返回1,失败返回0
分几种情况
1.移动一个只存在于当前数据库的key,成功,返回1
2.移动一个不存在于当前数据库的key,失败,返回0
3.当源数据库和目标数据库有相同的 key 时,移动操作失败返回0并且各数据库中key对应的value不变
$redis = new redis();
$redis->connect('127.0.0.1',6379);
//移动一个存在于当前数据库的key
/*echo $redis->select(0);//1
$redis->set('song','test');
$redis->move('song',1);
echo '~~~~';
echo $redis->EXISTS('song');//运行第一次返回空,页面再刷新一次返回1
echo '~~~~';
echo $redis->select(1);//1
echo $redis->EXISTS('song');//1
*/
//移动一个不存在于当前数据库的key
/*echo $redis->select(1).'!';
echo $redis->EXISTS('song1').'!';
echo $redis->move('song1',0).'!';
echo $redis->select(0).'!';
echo $redis->EXISTS('song1');//第一次运行1!!!1!,第二次 1!!!1!
*/
//当源数据库和目标数据库有相同的 key 时
/*结论:
当0数据库有key,并且值为ooo,当1数据库也有key,值为111的时候,吧0数据库的key移动到1是移动失败的,并且双方的key值都不变
*/
- 获取键
randomkey()返回随机key
- 修改键名
syn:$redis->rename(oldkey,newkey)
return:
1.oldkey存在,newkey不存在时返回ok
2.oldkey不存在,newkey不存在时返回(error) ERR no such key
3.oldkey存在,newkey存在时,newkey的值将被覆盖为oldkey的值
类似的函数还有renamenx(oldkey,newkey),该函数是仅当newkey不存在时修改成功,返回1
- 返回键储存值类型
$redis->type(key)
var_dump($redis->type('fake_key')); //none /int(0)
$redis->set('weather',"sunny"); # 构建一个字符串
var_dump($redis->type('weather'));//string / int(1)
$redis->sadd('pat',"dog"); # 构建一个集合
var_dump($redis->type('pat')); //set /int(2)
文章的所有资源来源网络:
http://www.yiibai.com/redis/
http://www.jb51.net/article/56448.htm
http://www.runoob.com/redis/redis-keys.html
http://www.cnblogs.com/weafer/archive/2011/09/21/2184059.html

浙公网安备 33010602011771号