Redis對於key的操作命令(附PHP代碼)

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');  # 移除生存時間
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章