背景:
- 這裏說的數據類型是value的數據類型,key的類型都是字符串。
- 命令不區分大小寫,而key的值是區分大小寫的
- help @+數據類型 會出現命令提示 比如 help@string,help@list
常見命令:
keys * 查看當前庫所有key (匹配:keys *1) exists key 判斷某個key是否存在 type key 查看你的key是什麼類型 exists key 判斷某個key是否存在 del key 根據value選擇非阻塞刪除 unlink key 判斷某個key是否存在 僅將keys從keyspace元數據中刪除,真正的刪除會在後續異步操作 expire key 10 10秒鐘:爲給定的key設置過期時間(單位是s) ttl key 查看還有多少秒過期,-1表示永不過期,-2表示已過期 select 命令切換數據庫 dbsize 查看當前數據庫的key的數量 flushdb 清空當前庫
字符串類型 - String
①. String是Redis最基本的類型,一個key對應一個value。
②. String類型是二進制安全的。意味着Redis的string可以包含任何數據。比如jpg圖片或者序列化的對象
③. String類型是Redis最基本的數據類型,一個Redis中字符串value最多可以是512M
String的數據結構爲簡單動態字符串(Simple Dynamic String,縮寫SDS)。是可以修改的字符串,內部結構實現上類似於Java的ArrayList
④. 存儲( set key value) 獲取(get key) 刪除(del key)
⑤. 其他關於String的操作指令
-
append key value 將給定的value 追加到原值的末尾 strlen key 獲得值的長度 setnx key value 只有在key不存在時,設置key的值(分佈式鎖) incr key 將 key 中儲存的數字值增1,只能對數字值操作,如果爲空,新增值爲1 decr key 將 key 中儲存的數字值減1,只能對數字值操作,如果爲空,新增值爲-1 incrby / decrby key 步長 將key中儲存的數字值增減。自定義步長 mset key1 value1 key2 value2 同時設置一個或多個 key-value對 mget key1 key2 key3 同時獲取一個或多個value msetnx key1 value1 key2 value2 同時設置一個或多個key-value,當且僅當所有給定key都不存在,纔會執行成功 getrange key 起始位置 結束位置 獲得值的範圍,類似java中的substring,前包,後包 setrange key 起始位置 value 用 value 覆寫key所儲存的字符串值,從起始位置開始(索引從0開始)。 setex key 過期時間 value 設置鍵值的同時,設置過期時間,單位秒 getset key value 以新換舊,設置了新值同時獲得舊值
⑥. 分佈式鎖
setnx key value -
⑦. 應用場景一:比如抖音無限點贊某個視頻或者商品,點一下加一次
-
- ⑧. 應用場景二:是否喜歡的文章(閱讀數:只要點擊了rest地址,直接可以使用incr key 命令增加一個數字1,完成記錄數字)