• 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');  # 移除生存时间