redis-key(鍵)的操作


以下所有命令默認在已連接上redis服務,php命令中 $redis 為實例化的redis對象;

1.set key value

設置key(將字符串值value關聯到key),默認生命周期為永久,如果key已經被設置,key所關聯的字符串值將被覆蓋,無視key的類型;

linux命令:

127.0.0.1:6379> set name hello
OK

php命令:

$redis->set('sex','man');

 

2.get key

返回key所關聯的字符串值,如果key不存在則返回特殊值nil,如果key存儲的值不是字符串類型,返回一個錯誤,因為get只能用於處理字符串值。

linux命令:

127.0.0.1:6379> get name
"hello"

php命令:

echo $redis->get('name');

 

3.exists key

檢查給定key是否存在,存在返回1,否則返回0

linux命令:

127.0.0.1:6379> exists name
(integer) 1

php命令:

echo $redis->exists('name');

 

 4.type key

 返回key所儲存的值的類型,php命令返回值(返回的為整數):

none(key不存在) int(0);

string(字符串) int(1);

list(列表) int(3);

set(集合) int(2);

zset(有序集) int(4);

hash(哈希表) int(5);

linux命令:

127.0.0.1:6379> type name
string

php命令:

echo $redis->type('name');

 

5.keys pattren

查找符合模式的key,返回符合給定模式的key列表,基本用法舉例說明:

name 就是命中 name;

* 命中當前數據庫中所以有的key;

*name 命中以name結尾的key;

name*命中以name開頭的key;

n*ame 命中以n開頭ame結尾的key;

n?ame 命中以n開頭,后面接一個字符,再以ame結尾的key;

其實還有很多,實際上keys可以按照正則規則來獲取key列表的;

linux命令:

127.0.0.1:6379> keys *
1) "abc"
2) "sex"
3) "name"

php命令:

$keys = $redis->keys('*');
dump($keys);

 

6.del key [key...]

移除給定的一個或多個key,linux命令以空格分隔,可以一次移除多個key,php命令還可以使用數組移除多個key,返回被移除key的數量

linux命令:

127.0.0.1:6379> del abc
(integer) 1
127.0.0.1:6379> del sex name
(integer) 2

php命令:

echo $redis->del('name');
echo $redis->del('abc','sex');
echo $redis->del(array('abc','sex'));

 

7.dbsize

返回當前數據庫的 key 的數量

linux命令:

127.0.0.1:6379> dbsize
(integer) 2

php命令:

echo $redis->dbSize();

 

8.rename key newkey

將key改名為newkey,當key和newkey相同或者key不存在時,返回一個錯誤;當newkey已經存在時,將覆蓋原來的值,無視類型

linux命令:

127.0.0.1:6379> rename list name
OK

php命令:

$redis->rename('list','name');

 

9.renamenx key newkey (nx有not exit的意思)

當且僅當 newkey 不存在時,將 key 改名為 newkey,修改成功時,返回 1 。如果 newkey 已經存在,返回 0 。

linux命令:

127.0.0.1:6379> renamenx sex aaa
(integer) 1

php命令:

$redis->renameNx('sex ','aaa');

 

 

10.expire key seconds

為給定key設置生存時間,當key過期時,它會被自動刪除,單位為;設置成功返回1,其他返回0。

linux命令:

127.0.0.1:6379> expire name 60
(integer) 1

php命令:

$redis->expire('name',60);

 

11.ttl key

返回給定key的剩余生存時間(以為單位),當 key 不存在時,返回 -2 ;當 key 存在但沒有設置剩余生存時間時,返回 -1;

 

linux命令:

127.0.0.1:6379> ttl name
(integer) 57

php命令:

echo $redis->ttl('name');

 

 

12.pexpire key milliseconds

返回給定key的剩余生存時間(以毫秒為單位),設置成功,返回 1;key 不存在或設置失敗,返回 0;1秒(s)=1000毫秒(ms)

linux命令:

127.0.0.1:6379> pexpire name 60000
(integer) 1

php命令:

$redis->pExpire('name',60000);

 

13.pttl key

返回給定key的剩余生存時間(以毫秒為單位),當 key 不存在時,返回 -2 。當 key 存在但沒有設置剩余生存時間時,返回 -1 。

 

linux命令:

127.0.0.1:6379> pttl name
(integer) 50307

php命令:

echo $redis->pttl('name');

 

 

14.persist key

移除給定 key 的生存時間,將這個 key 從『易失的』(帶生存時間 key )轉換成『持久的』(一個不帶生存時間、永不過期的 key ),當生存時間移除成功時,返回 1 .如果 key 不存在或 key 沒有設置生存時間,返回 0 。

linux命令:

127.0.0.1:6379> persist aaa
(integer) 1

php命令:

$redis->persist('a');

 

15.randomkey

從當前數據庫中隨機返回(不刪除)一個 key ,當數據庫不為空時,返回一個 key 。當數據庫為空時,返回 nil 。

linux命令:

127.0.0.1:6379> randomkey
"aaa"

php命令:

echo $redis->randomKey();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM