redis中key相關命令
阿新 • • 發佈:2019-02-10
在Redis中,key使用字串儲存,但是key不能出現空格或者換行符"\n",原因是空格或者換行符都是redis的特殊字元,但value可以使用任何字元(
Redis以"\n"作為命令結束符,所以在key中不能存在"\n",否則就會出錯。此外Redis以空格作為
命令和引數的分隔符,所以在key中也不能存在空格
exists 測試指定key是否存在,返回1表示存在,返回0表示不存在
del key1 key2 ... keyN 刪除指定key,返回刪除key的數目,返回0表示給定key都不存在
type key 返回給定key的value型別,返回none表示不存在key,string為字串型別。
List為連結串列型別,set為無序集合型別
keys pattern 返回匹配指定模式的所有key
expire key seconds 設定給定key的過期時間
randomkey 返回從當前資料庫中隨機選擇的一個key,如果當前資料庫是空的,返回空串
rename oldkey newkey 重新命名key,如果newkey存在,則將被覆蓋,返回1表示成功,返回0表示失敗,返回失敗的原因可能
是 oldkey不存在或者和newkey的名字重複.
ttl key 返回設定過期時間key的剩餘秒數,-1表示key不存在或者沒有設定過期時間
測試
127.0.0.1:6379>set key1 value1 OK 127.0.0.1:6379>set key2 value2 OK 127.0.0.1:6379>set key3 value3 OK 127.0.0.1:6379>randomkey "key1" 127.0.0.1:6379>exists key1 (integer)1 127.0.0.1:6379>keys key* 1)"key2" 2)"key3" 3)"key1" 127.0.0.1:6379>type key1 string 127.0.0.1:6379>del key1 key2 (integer)2 127.0.0.1:6379>rename key1 key11 (error)ERR no such key 127.0.0.1:6379>rename key3 key33 (error)ERR no such key 127.0.0.1:6379>expire key33 600 (integer)1 127.0.0.1:6379>ttl key33 (integer)596