上一節介紹了關於字符串值的一些基本命令, 這一節將介紹一些進階命令:
清理終端:
127.0.0.1:6379> clear
設置一個鍵值對, 同時設置過期時間為10秒:
127.0.0.1:6379> setex name 10 max OK 127.0.0.1:6379> get name "max"
查看剩余的過期時間:
127.0.0.1:6379> ttl name (integer) 4 127.0.0.1:6379> ttl name (integer) 0 127.0.0.1:6379> get name (nil)
設置一個鍵值對, 同時設置過期時間為30000毫秒, 注意, 使用 psetex 設置過期時間, 時間的單位為毫秒:
127.0.0.1:6379> psetex name3 30000 july OK 127.0.0.1:6379> ttl name3 (integer) 26
設置一個鍵值對, 但是想要確認這個鍵是否已被占用, 可以用 setnx, 如果已經被占用, 則返回0, 即沒有執行成功:
127.0.0.1:6379> set name tom OK 127.0.0.1:6379> setnx name join (integer) 0 127.0.0.1:6379> get name "tom"
如果未被占用, 則返回1, 即操作成功:
127.0.0.1:6379> setnx name2 join (integer) 1 127.0.0.1:6379> get name2 "join" 127.0.0.1:6379> keys * 1) "name2" 2) "name"
獲取值的字符串長度:
127.0.0.1:6379> get name "tom" 127.0.0.1:6379> strlen name (integer) 3 127.0.0.1:6379> get name2 "join" 127.0.0.1:6379> strlen name2 (integer) 4
同時設置多個鍵值對, 這里故意設置了兩個 num2 的值, 可以看到會存入后者:
127.0.0.1:6379> mset num1 40 num2 60 num2 70 OK 127.0.0.1:6379> keys * 1) "name" 2) "name2" 3) "num1" 4) "num2" 127.0.0.1:6379> get num2 "70"
以 1 為單位, 增加/減少值:
127.0.0.1:6379> get num1 "40" 127.0.0.1:6379> decr num1 (integer) 39 127.0.0.1:6379> get num1 "39" 127.0.0.1:6379> incr num1 (integer) 40 127.0.0.1:6379> get num1 "40"
增加/減少值, 但是可以自定義每次增加/減少的量:
127.0.0.1:6379> incrby num1 5 (integer) 45 127.0.0.1:6379> get num1 "45" 127.0.0.1:6379> decrby num1 10 (integer) 35 127.0.0.1:6379> get num1 "35"
附加拼接命令:
127.0.0.1:6379> set mykey hello OK 127.0.0.1:6379> get mykey "hello" 127.0.0.1:6379> append mykey " world" (integer) 16 127.0.0.1:6379> get mykey "hello world"
以上, 就是關於字符串值的一些進階命令, 如有問題, 歡迎留言.