String型別的基本操作
- 新增/修改資料
set key value
127.0.0.1:6379> set name zhangsan
OK
- 獲取資料
get key
127.0.0.1:6379> get name
"zhangsan"
- 刪除資料
127.0.0.1:6379> del name
(integer) 1
- 新增修改多個資料
mset name zhangsan age 20
- 獲取多個資料
127.0.0.1:6379> mget name age
1) "zhangsan"
2) "20"
- 獲取資料字元個數
127.0.0.1:6379> strlen name
(integer) 8
- 在資料後面追加資訊(存在就追加,不存在就建立)
127.0.0.1:6379> append name hehe
(integer) 12
127.0.0.1:6379> get name
"zhangsanhehe"
127.0.0.1:6379>
String型別的擴充套件操作
隨著應用執行中,我們的資料量會越來越大,我們不能讓資料都在一張表裡面,這樣會影響資料庫的查詢效率,這個時候我們就需要把一張大表切割成多張小表,這就是在大中型應用中使用的基本操作,分表。但是將一張表分成多個表之後讓它們自己控制自己的主鍵id自增肯定是不行的,比如會出現多個重複id的資料,這個時候可以使用redis來解決id重複的問題。
解決方案
設定資料增加指定的值
127.0.0.1:6379> set number 1 OK 127.0.0.1:6379> incr number (integer) 2 127.0.0.1:6379>
string在redis內部儲存預設是一個字串,當遇到增/減,如incr/decr 等操作時會轉換成數值進行運算,redis的所有操作都是原子性的,採用單執行緒執行所有任務,命令都是一個個執行的,無需考慮併發帶來的影響
應用場景: 1.微信投票限制每個號碼在10小時內只能投一次票。2.熱門商品維持三天熱門自動取消熱門。
解決方案
- 設定資料的生命週期
Setex 命令為指定的 key 設定值及其過期時間。如果 key 已經存在, SETEX 命令將會替換舊的值。
SETEX KEY_NAME TIMEOUT VALUE
127.0.0.1:6379> setex tel 60 13888888888
OK
127.0.0.1:6379> get tel
"13888888888"
127.0.0.1:6379> get tel //等待60s
(nil)
127.0.0.1:6379>
本作品採用《CC 協議》,轉載必須註明作者和本文連結