- Redis对于key的操作命令
- del key1 key2 Keyn
- 作用 删除1个或多个键
- rename key newkey
- 作用 给key赋一个新的key名
- renamenx key newkey
- 作用 把key改名为newkey
- move key db
- keys pattern 查询相应的key
- randomkey 返回随机key
- exists key
- 判断key是否存在返回10
- type key
- 返回key存储的值的类型
- expire key 整型值
- 作用 设置key的生命周期以秒为单位
- ttl key
- 作用 查询key的生命周期
- persist key
- 作用 把指定key置为永久有效
Redis对于key的操作命令
del key1 key2 … Keyn
作用: 删除1个或多个键
返回值: 不存在的key忽略掉,返回真正删除的key的数量
<?php
$redis->del('myname');# 返回 TRUE(1)
$redis->del('myname');# 不存在 返回 int(0)
$redis->del(array('key1','key2',...));#删除多个
rename key newkey
作用: 给key赋一个新的key名
注:如果newkey已存在,则newkey的原值被覆盖
<?php
$redis->rename('key','key1');#如果key1存在则覆盖 key不存在返回false,否则返回true
renamenx key newkey
作用: 把key改名为newkey
返回: 发生修改返回1,未发生修改返回0
注: nx–> not exists, 即, newkey不存在时,作改名动作
<?php
$redis->renamenx('key','key1');#如果key1存在或则key不存在则返回false,否则返回true
move key db
redis 127.0.0.1:6379[1]> select 2
OK
redis 127.0.0.1:6379[2]> keys *
(empty list or set)
redis 127.0.0.1:6379[2]> select 0
OK
redis 127.0.0.1:6379> keys *
1) "name"
2) "cc"
3) "a"
4) "b"
redis 127.0.0.1:6379> move cc 2
(integer) 1
redis 127.0.0.1:6379> select 2
OK
redis 127.0.0.1:6379[2]> keys *
1) "cc"
redis 127.0.0.1:6379[2]> get cc
"3"
(注意: 一个redis进程,打开了不止一个数据库, 默认打开16个数据库,从0到15编号,如果想打开更多数据库,可以从配置文件修改)
<?php
$redis->move('key',2);#key不存在返回false bool(true)
keys pattern 查询相应的key
在redis里,允许模糊查询key
有3个通配符 *, ? ,[]
*: 通配任意多个字符
?: 通配单个字符
[]: 通配括号内的某1个字符
redis 127.0.0.1:6379> flushdb
OK
redis 127.0.0.1:6379> keys *
(empty list or set)
redis 127.0.0.1:6379> mset one 1 two 2 three 3 four 4
OK
redis 127.0.0.1:6379> keys o*
1) "one"
redis 127.0.0.1:6379> key *o
(error) ERR unknown command 'key'
redis 127.0.0.1:6379> keys *o
1) "two"
redis 127.0.0.1:6379> keys ???
1) "one"
2) "two"
redis 127.0.0.1:6379> keys on?
1) "one"
redis 127.0.0.1:6379> set ons yes
OK
redis 127.0.0.1:6379> keys on[eaw]
1)"one"
<?php
var_dump($redis->keys('*o*')); //array(3) { [0]=> string(4) "four" [1]=> string(3) "two" [2]=> string(3) "one" }
var_dump($redis->keys('t??')); //array(1) { [0]=> string(3) "two" }
var_dump($redis->keys('t[w]*')); //array(1) { [0]=> string(3) "two" }
print_r($redis->keys('*')); //Array ( [0] => four [1] => three [2] => two [3] => one )
randomkey 返回随机key
<?php
$redis->randomkey();#如果数据库为空则返回false,反正返回随机key
exists key
判断key是否存在,返回1/0
<?php
$redis->exists('key');#bool(true)
type key
返回key存储的值的类型
有string,link,set,order set, hash
<?php
$redis->type('key');#string,link,set,order set, hash
expire key 整型值
作用: 设置key的生命周期,以秒为单位
同理:
pexpire key 毫秒数, 设置生命周期
pttl key, 以毫秒返回生命周期
<?php
$redis->expire('name',30); # 设置生存时间为30秒 //return (integer) 1
ttl key
作用: 查询key的生命周期
返回: 秒数
注:对于不存在的key或已过期的key/不过期的key,都返回-1
Redis2.8中,对于不存在的key,返回-2
<?php
$redis->expire('name',30); # 设置生存时间为30秒 //return (integer) 1
persist key
作用: 把指定key置为永久有效
<?php
$redis->persist('time_to_say_goodbye'); # 移除生存时间