1. 程式人生 > >Redis數據類型(字符串)

Redis數據類型(字符串)

獲取 追加 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.7131.7127.0.0.1:6379> incrfloat num 0.7132.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數據類型(字符串)