1. 程式人生 > 其它 >Redis(十二)redis鍵(KEY)

Redis(十二)redis鍵(KEY)

技術標籤:redismysql資料庫

Redis 鍵命令用於管理 redis 的鍵。

這個知識點一直被我給忽略了,前幾天在測試redis的資料型別的時候,就在想,我測試過程中建了那麼多的鍵來儲存對應的資料,雖說最後資料都被我清掉了,但是鍵應該還是一直存在的吧。

這個玩意怎麼刪呢?我要想檢視一下,我都定義了那些鍵,這玩意是不是得有個命令啊?

時間比較緊,也沒多想。

今天看到了這個redis鍵的命令,哦,原來你在這。

大概看下幾個常用的redis-key命令:

一:linux命令

1:del刪除鍵,成功返回1,失敗返回0

del hash-key               // 返回(integer)
1

2:exists檢視某個鍵是否存在,存在返回1,不存在返回0

exists hash-key            // (integer) 0,我們上邊刪除了

3:type返回該鍵儲存值得型別

設定鍵string 儲存string型別的資料

set string 'camellia'              // 返回OK

檢視鍵string 儲存的資料型別

type string                          // 返回string

4:rename 修改指定鍵的名稱

將鍵string的名稱改為str

rename string str                 // 返回OK

查詢鍵string是否存在

exists string                         // 返回(integer) 0,不存在,因為改名了

查詢鍵str是否存在

exists str                             // 返回 (integer) 1,存在

5:keys檢視redis中所有的鍵或者,滿足對應條件的鍵

查詢鍵str

keys str

輸出:

1)     "str"

查詢鍵st

keys st

輸出:

(empty list or set)

查詢以st開頭的所有鍵

keys st*

輸出:

1) "string"
2) "str"

檢視redis中所有鍵

keys *

輸出:

 1) "time"
 2) "111.206.221.110time"
 3) "111.206.198.77time"
 4) "123.125.71.80time"
 5) "test"

6:expire 設定鍵的過期時間,以秒來計算

設定鍵str過期時間為300秒

expire str 300        // 返回(integer) 1

7:persist 去除當前鍵設定的過期時間

persist str             // 返回(integer) 1

二:PHP命令

1:del,成功返回1,失敗返回0

$res = r e d i s − > d e l ( ′ h a s h − k e y ′ ) ; v a r d u m p ( redis->del('hash-key'); var_dump( redis>del(hashkey);vardump(res);

2:exists,存在返回1,失敗返回0

$res = r e d i s − > e x i s t s ( ′ t e s t ′ ) ; v a r d u m p ( redis->exists('test'); var_dump( redis>exists(test);vardump(res);

3:type,這個命令與linux中有區別,linux中執行直接返回型別,而這個命令在PHP中執行返回0-5的數字,分別代表:

0不存在

1字串

2集合

3列表

4有序集合

5雜湊表
$res = $redis->type('miaoshaceshi');
var_dump($res);       // 返回3

4:rename修改鍵的名稱,成功返回true,失敗返回false

$res = $redis->rename('test','te');
    var_dump($res);

5:keys 查詢所有鍵,或查詢滿足對應條件的鍵

$res = $redis->keys('*');
    var_dump($res);

輸出:

array(32) { [0]=> string(13) "54.36.148.248" [1]=> string(4) "time" [2]=> string(19) "111.206.221.110time" [3]=> string(18) "111.206.198.77time" [4]=> string(17) "123.125.71.80time" [5]=> string(18) "216.244.66.238time"}

6:expire 設定過期時間,成功返回true,失敗返回false

$res = $redis->expire('te',300);
var_dump($res);

7:persist 去除對應健值的過期時間,成功返回true,失敗返回false

$res = $redis->persist('te');
var_dump($res);

下面放一些常用的redis-key的命令,有興趣可以自己去嘗試一下:

序號

命令及描述

1

DEL key
  該命令用於在 key 存在時刪除 key。

2

DUMP key 
  序列化給定 key ,並返回被序列化的值。

3

EXISTS key 
  檢查給定 key 是否存在。

4

EXPIRE key seconds
  為給定 key 設定過期時間,以秒計。

5

EXPIREAT   key timestamp 
  EXPIREAT 的作用和 EXPIRE 類似,都用於為 key 設定過期時間。 不同在於 EXPIREAT 命令接受的時間引數是 UNIX 時間戳(unix timestamp)

6

PEXPIRE key milliseconds 
  設定 key 的過期時間以毫秒計。

7

PEXPIREAT   key milliseconds-timestamp 
  設定 key 過期時間的時間戳(unix timestamp) 以毫秒計

8

KEYS pattern 
  查詢所有符合給定模式( pattern)的 key 。

9

MOVE key db 
  將當前資料庫的 key 移動到給定的資料庫 db 當中。

10

PERSIST key 
  移除 key 的過期時間,key 將持久保持。

11

PTTL key 
  以毫秒為單位返回 key 的剩餘的過期時間。

12

TTL key 
  以秒為單位,返回給定 key 的剩餘生存時間(TTL, time to live)

13

RANDOMKEY 
  從當前資料庫中隨機返回一個 key 。

14

RENAME key newkey 
  修改 key 的名稱

15

RENAMENX   key newkey 
  僅當 newkey 不存在時,將 key 改名為 newkey 。

16

TYPE key 
  返回 key 所儲存的值的型別。

有好的建議,請在下方輸入你的評論。

歡迎訪問個人部落格
https://guanchao.site

歡迎訪問小程式:
在這裡插入圖片描述