redis 鍵(key)

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

語法:COMMAND KEY_NAME數據庫

Redis鍵的基本命令unix

一、設置鍵值字符串

SET keyname valueget

二、刪除鍵string

    DEL key hash

    該命令用於key存在時刪除key。不存在時key會被忽略。返回被刪除key的數量。it

redis> DEL w3ckey
(integer) 1

三、序列化key序列化

    DUMP key數據類型

    序列化給定的key,並返回被序列化的值。若是key不存在,那麼返回nil,不然,返回序列化以後的值。

redis> DUMP greeting
"\x00\x15hello, dumping world!\x06\x00E\xa0Z\x82\xd8r\xc1\xde"

redis> DUMP not-exists-key
(nil)

四、檢查key是否存在

    EXISTS key

    若key存在則返回1,不然返回0。

redis > EXISTS runoob-new-key
(integer) 1

五、爲給定key設置過時時間

    EXPIRE key time_in_seconds

設置成功返回 1 。 當 key 不存在或者不能爲 key 設置過時時間時(好比在低於 2.1.3 版本的 Redis 中你嘗試更新 key 的過時時間)返回 0 。

redis 127.0.0.1:6379> EXPIRE runooobkey 60
(integer) 1

   

    EXPIREAT KEY_NAME TIME_IN_UNIX_TIMESTAMP

    Expireat 命令用於以 UNIX 時間戳(unix timestamp)格式設置 key 的過時時間。key 過時後將再也不可用。EXPIREAT 的做用和 EXPIRE 相似,都用於爲 key 設置過時時間。 不一樣在於 EXPIREAT 命令接受的時間參數是 UNIX 時間戳(unix timestamp)。

redis 127.0.0.1:6379> EXPIREAT runoobkey 1293840000
(integer) 1
EXISTS runoobkey
(integer) 0

   

     PEXIPIRE key milliseconds

    PEXPIRE 命令和 EXPIRE 命令的做用相似,可是它以毫秒爲單位設置 key 的生存時間,而不像 EXPIRE 命令那樣,以秒爲單位。

redis> SET mykey "Hello"
"OK"
redis> PEXPIRE mykey 1500
(integer) 1
redis> TTL mykey
(integer) 1
redis> PTTL mykey
(integer) 1498
redis>

 

PEXPIREAT KEY_NAME TIME_IN_MILLISECONDS_IN_UNIX_TIMESTAMP

設置 key 過時時間的時間戳(unix timestamp) 以毫秒計

redis 127.0.0.1:6379> PEXPIREAT runoobkey 1555555555005
(integer) 1

 

六、KEYS pattern

查找全部符合給定模式pattern的key,返回符合給定模式的 key 列表 (Array)。

redis 127.0.0.1:6379> KEYS runoob*
1) "runoob3"
2) "runoob1"
3) "runoob2"

 

七、MOVE KEY_NAME DES_DATABASE

MOVE 命令用於將當前數據庫的 key 移動到給定的數據庫 db 當中。移動成功返回1,失敗返回0。

 

八、PERSIST key_name

 PERSIST 命令用於移除給定 key 的過時時間,使得 key 永不過時。當過時時間移除成功時,返回 1 。 若是 key 不存在或 key 沒有設置過時時間,返回 0 。

redis> SET mykey "Hello"
OK

redis> EXPIRE mykey 10  # 爲 key 設置生存時間
(integer) 1

redis> TTL mykey
(integer) 10

redis> PERSIST mykey    # 移除 key 的生存時間
(integer) 1

redis> TTL mykey
(integer) -1

 

九、PTTL key_name

Pttl 命令以毫秒爲單位返回 key 的剩餘過時時間。

當 key 不存在時,返回 -2 。 當 key 存在但沒有設置剩餘生存時間時,返回 -1 。 不然,以毫秒爲單位,返回 key 的剩餘生存時間。

注意:在 Redis 2.8 之前,當 key 不存在,或者 key 沒有設置剩餘生存時間時,命令都返回 -1 。

 

十、TTL key_name

TTL 命令以秒爲單位返回 key 的剩餘過時時間。

當 key 不存在時,返回 -2 。 當 key 存在但沒有設置剩餘生存時間時,返回 -1 。 不然,以秒爲單位,返回 key 的剩餘生存時間。

注意:在 Redis 2.8 之前,當 key 不存在,或者 key 沒有設置剩餘生存時間時,命令都返回 -1 。

 

十一、RANDOMKEY

RANDOMKEY 命令從當前數據庫中隨機返回一個 key 。當數據庫不爲空時,返回一個 key 。 當數據庫爲空時,返回 nil 。

 

十二、RENAME OLD_KEY_NAME NEW_KEY_NAME

Rename 命令用於修改 key 的名稱 。

更名成功時提示 OK ,失敗時候返回一個錯誤。

當 OLD_KEY_NAME 和 NEW_KEY_NAME 相同,或者 OLD_KEY_NAME 不存在時,返回一個錯誤。 當 NEW_KEY_NAME 已經存在時, RENAME 命令將覆蓋其舊值。

redis> SET pc "lenovo"
OK

redis> SET personal_computer "dell"
OK

redis> RENAME pc personal_computer
OK

redis> GET pc
(nil)

redis:1> GET personal_computer      # 原來的值 dell 被覆蓋了
"lenovo"

 

1三、RENAMENX OLD_KEY_NAME NEW_KEY_NAME

Renamenx 命令用於在新的 key 不存在時修改 key 的名稱 。修改爲功時,返回 1 。 若是 NEW_KEY_NAME 已經存在,返回 0 。

# newkey存在時,失敗

redis> SET animal "bear"
OK

redis> SET favorite_animal "butterfly"
OK

redis> RENAMENX animal favorite_animal
(integer) 0

redis> get animal
"bear"

redis> get favorite_animal
"butterfly"

1四、TYPE KEY_NAME

Type 命令用於返回 key 所儲存的值的類型。

返回 key 的數據類型,數據類型有:

  • none (key不存在)
  • string (字符串)
  • list (列表)
  • set (集合)
  • zset (有序集)
  • hash (哈希表)
相關文章
相關標籤/搜索