Redis基本操做-string

Redis的5種數據結構:string、list、hash、set和zset;
Redis 全部的數據結構都是以惟一的 key 字符串做爲名稱,而後經過這個惟一 key 值來獲取相應的 value 數據。不一樣類型的數據結構的差別就在於 value 的結構不同。redis

基本操做

一、string表示的是一個可變的字節數組;
二、Redis的字符串時動態字符串,是能夠修改的;
三、內部結構實現上相似與Java的ArrayList,用預分配冗餘空間的方式來減小內存的頻繁分配;
四、字符串長度小於1M時,擴容都是加倍現有的空間;
五、長度大於1M時,擴容時指揮多擴1M的空間;
六、字符串最大長度爲512M;
七、字符串沒有提供子串插入和子串刪除方法;數組

# 初始化字符串(set 鍵 值)
localhost:0>set muscleape com.muscleape.www
"OK"
# 獲取字符串內容(get 鍵)
localhost:0>get muscleape
"com.muscleape.www"
# 獲取字符串的長度(strlen 鍵)
localhost:0>strlen muscleape
"17"
# 獲取子串(getrange 鍵 開始下標 結束下標)
localhost:0>getrange muscleape 4 12
"muscleape"
# 覆蓋子串(setrange 鍵 開始位置 替換串)
localhost:0>setrange muscleape 4 wzqwzqwzq
"17"
localhost:0>get muscleape
"com.wzqwzqwzq.www"
# 追加子串(append 鍵 子串)
localhost:0>append muscleape .wzq
"21"
localhost:0>get muscleape
"com.wzqwzqwzq.www.wzq"

計數器

一、若是字符串的內容是一個整數,能夠將字符串當作計數器來使用;數據結構

# 初始化
localhost:0>set muscleape 59
"OK"
# 獲取值
localhost:0>get muscleape
"59"
# 增長(incrby 鍵 增長數值)
localhost:0>incrby muscleape 200
"259"
# 獲取值
localhost:0>get muscleape
"259"
# 減小(decrby 鍵 減小數值)
localhost:0>decrby muscleape 200
"59"
# 獲取值
localhost:0>get muscleape
"59"
# 增長1(incr 鍵)=> 等價於 => incrby 鍵 1
localhost:0>incr muscleape
"60"
# 減少1(decr 鍵)=> 等價於 => decrby 鍵 1
localhost:0>decr muscleape
"59"

二、計數器是有範圍的,不能超過Long.Max,不能低於Long.MINapp

localhost:0>set muscleape 9223372036854775807
"OK"
localhost:0>incr muscleape
"ERR increment or decrement would overflow"
# #####################################
localhost:0>set muscleape -9223372036854775808
"OK"
localhost:0>decr muscleape
"ERR increment or decrement would overflow"

刪除和過時

字符串可使用del指令進行主動刪除,可使用expire指令設置過時時間,到點會自動刪除,這屬於被動刪除。可使用ttl指令獲取字符串的壽命;code

# 設置過時時間(expire 鍵 有效秒數);1表示設置成功,0表示變量ireader不存在
localhost:0>expire muscleape 60
"1"
# 查詢壽命(ttl 鍵); 還有55秒的壽命,返回-2表示變量不存在,-1表示沒有設置過時時間
localhost:0>ttl muscleape
"55"
# 刪除(del 鍵)刪除成功返回1
localhost:0>del muscleape
"1"
localhost:0>get muscleape
null
相關文章
相關標籤/搜索