以下所有命令默認在已連接上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();