Redis对于key的操作命令(附PHP代码)

来源:互联网 发布:农村淘宝合伙人的收入 编辑:程序博客网 时间:2024/05/21 09:03

  • 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 2OKredis 127.0.0.1:6379[2]> keys *(empty list or set)redis 127.0.0.1:6379[2]> select 0OKredis 127.0.0.1:6379> keys *1) "name"2) "cc"3) "a"4) "b"redis 127.0.0.1:6379> move cc 2(integer) 1redis 127.0.0.1:6379> select 2OKredis 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> flushdbOKredis 127.0.0.1:6379> keys *(empty list or set)redis 127.0.0.1:6379> mset one 1 two 2 three 3 four 4OKredis 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 *o1) "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 yesOKredis 127.0.0.1:6379> keys on[eaw]1)"one"
<?phpvar_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');  # 移除生存时间
0 0
原创粉丝点击