Redis數據類型(字符串)
阿新 • • 發佈:2017-10-28
獲取 追加 redis數據類型 class 修正 nbsp 一次 consola incr
Redis存放的字符串為二進制是安全的。字符串長度支持到512M。
incr
遞增數字INCR key
當存儲的字符串是整數時,redis提供了一個實用的命令INCR,其作用是讓當前鍵值遞增,並返回遞增後的值。
從例子可以看出,如果num不存在,則自動會創建,如果存在自動+1。
127.0.0.1:6379> keys * 1) "test1" 2) "test" 127.0.0.1:6379> get test "123" 127.0.0.1:6379> get test1 "abc" 127.0.0.1:6379> get test2 (nil) 127.0.0.1:6379> incr num (integer)1 127.0.0.1:6379> keys * 1) "num" 2) "test1" 3) "test" 127.0.0.1:6379> incr num (integer) 2 127.0.0.1:6379> incr num (integer) 3 127.0.0.1:6379>
incrby
指定增長系數
127.0.0.1:6379> incr num (integer) 2 127.0.0.1:6379> incr num (integer) 3 127.0.0.1:6379> incrby num 2 (integer) 5 127.0.0.1:6379> incrby num 2 (integer)7 127.0.0.1:6379> incrby num 2 (integer) 9 127.0.0.1:6379> incr num (integer) 10 127.0.0.1:6379>
decr / decrby
減少指定的整數
127.0.0.1:6379> incr num (integer) 10 127.0.0.1:6379> decr num (integer) 9 127.0.0.1:6379> decrby num 3
incrbyfloat
整數時,第一次加可以得到正確結果,浮點數後再加浮點就會出現精度問題。
原來下面的例子是2.8.7版本
註意在新版本3.0.7中已經修正了這個浮點精度問題。
127.0.0.1:6379> set num (integer) 131 127.0.0.1:6379> incrfloat num 0.7 “131.7” 127.0.0.1:6379> incrfloat num 0.7 “132.3999999999999999”
append
向尾部追加值。如果鍵不存在則創建該鍵,其值為寫的value,即相當於SET key value。
返回值是追加後字符串的總長度。
127.0.0.1:6379> keys * 1) "num" 2) "test1" 3) "test" 127.0.0.1:6379> get test "123" 127.0.0.1:6379> append test "abc" (integer) 6 127.0.0.1:6379> get test "123abc" 127.0.0.1:6379>
strlen
字符串長度,返回數據的長度,
如果鍵不存在則返回0。
如果鍵值為空串,返回也是0。
127.0.0.1:6379> get test "123abc" 127.0.0.1:6379> strlen test (integer) 6 127.0.0.1:6379> strlen tnt (integer) 0 127.0.0.1:6379> set tnt "" OK 127.0.0.1:6379> strlen tnt (integer) 0 127.0.0.1:6379> exists tnt (integer) 1 127.0.0.1:6379>
mset/mget
同時設置/獲取多個鍵值
127.0.0.1:6379> flushall OK 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> mset a 1 b 2 c 3 OK 127.0.0.1:6379> mget a b c 1) "1" 2) "2" 3) "3" 127.0.0.1:6379>
Redis數據類型(字符串)