字串string
127.0.0.1:6379> exists name 判斷key存在
(integer) 1
(integer) 10 字串長度10
127.0.0.1:6379> get name 獲取key
"luhanhello"
127.0.0.1:6379> strlen name
(integer) 10
(integer) 14
127.0.0.1:6379> strlen name strlen命令獲取去字串的長度
(integer) 14
127.0.0.1:6379> get name
"luhanhelloword"
127.0.0.1:6379>
獲取、更改指定字串127.0.0.1:6379> set liuliang 0 設定初始流量為0
ok127.0.0.1:6379> get liuliang
"0"127.0.0.1:6379> incr liuliang 自加1
(integer) 1
127.0.0.1:6379> get liuliang 獲取
"1"127.0.0.1:6379> incr liuliang 自加1
(integer) 2
127.0.0.1:6379> get liuliang
"2"127.0.0.1:6379> decr liuliang 自減1
(integer) 1
127.0.0.1:6379> get liuliang 獲取
"1"127.0.0.1:6379> decr liuliang 減1
(integer) 0
127.0.0.1:6379> get liuliang
"0"設定步長
127.0.0.1:6379> incrby liuliang 4 自加4 設定步長,指定增量為4
(integer) 4
127.0.0.1:6379> incrby liuliang 4 自加4
(integer) 8
127.0.0.1:6379> get liuliang
"8"127.0.0.1:6379> decrby liuliang 4 自減4
(integer) 4
127.0.0.1:6379> get liuliang
"4"
批量操作127.0.0.1:6379> set name luhan.hello,word
ok127.0.0.1:6379> get name
"luhan.hello,word"
127.0.0.1:6379> getrange name 0 5 表示獲取0-5之間的字串
"luhan."
127.0.0.1:6379> getrange name 0 -1 -1表示獲取整個字串
"luhan.hello,word"
更改替換
127.0.0.1:6379> get name
"luhan.hello,word"
127.0.0.1:6379> setrange name 0 wc 更改第0個字串即第乙個l為wc
(integer) 16
127.0.0.1:6379> get name
"wchan.hello,word"
setex=設定過時間 setnx=不存在再去設定,存在不設定(分布式鎖中會使用)
127.0.0.1:6379> setex name1 20 hello 設定過期時間20s,到時間會自動清除
ok127.0.0.1:6379> ttl name1
(integer) 16
127.0.0.1:6379> get name1
"hello"
127.0.0.1:6379> setnx name2 redis 建立key
(integer) 1
127.0.0.1:6379> keys *
1)"name2"
127.0.0.1:6379> setnx name2 westos 再次建立相同的key
(integer) 0 返回0表示失敗,因為已經存在
127.0.0.1:6379> get name2
"redis"
知識點補充:
expire針對於已存在的key設定過期時間
setex在建立key的時候設定過期時間
setnx表示在建立新的key的時候會自動判斷key是否存在,不存在就建立,存在無法建立
127.0.0.1:6379> flushall
ok127.0.0.1:6379> mset name1 hello1 name2 hello2 name3 hello3 批量建立
ok127.0.0.1:6379> mget name1 name2 name3 批量獲取
1)"hello1"
2)"hello2"
3)"hello3"
127.0.0.1:6379> msetnx name2 hello2 name4 hello4 msetnx批量插入並且判斷key是否存在,若其中有乙個存在則全部失敗
(integer) 0
物件127.0.0.1:6379> mset user:1:name luhan user:1:age 22 這裡的key是乙個物件(user:1:name)
ok127.0.0.1:6379> mget user:1:name user:1:age
1)"luhan"
2)"22"
getset命令:先獲取在建立 --> 可以用來更新資料
127.0.0.1:6379> flushall
ok127.0.0.1:6379> keys *
(empty list or set
)127.0.0.1:6379> getset name helloo 沒有就建立
(nil)
127.0.0.1:6379> get name
"helloo"
127.0.0.1:6379> getset name word 存在就返回,然後在更改
"helloo"
127.0.0.1:6379> get name
"word"
Redis之字串型別
重新定義了c語言中的字串 字串的實現 在sds.件中。在redis3.2之前的版本中,是如下儲存字串的 型別別名,用於指向 sdshdr 的 buf 屬性 typedef char sds 儲存字串物件的結構 struct sdshdr 示意圖 而在新版本中redis是如下儲存的。redis官網gi...
Redis之String 字串型別
字串型別是redis中最為基礎的資料儲存型別,它在redis中是二進位制安全的,這便意味著該型別可以接受任何格式的資料,如jpeg影象資料或json物件描述資訊等。在redis中字串型別的value最多可以容納的資料長度是512m。命令原型 時間複雜度 命令描述 返回值o 1 追加後value的長度...
Redis快速入門之字串型別
字串型別是redis中最基本的資料型別,他能儲存任何形式的字串,包括二進位制資料,你可以用它來儲存使用者的郵箱,json化的字串,設定是二進位制物件。乙個字串型別允許儲存的大小為512mset keyvalue getkey incr key當操作的鍵值不存在是預設的值為0,因此遞增之後的值為1 當...