資料類型的應用場景?
字元串string
可以通過set key value 實作單值緩存
可以通過setnx product:10001 true 實作分布式鎖,傳回1表示擷取鎖成功,傳回0表示擷取鎖失敗,這個值已經被設定過
可以通過incr acticle:readcount{文章id} 實作計數器,每執行一次加一
可以通過incrby orderId 1000
實作分布式系統全局序列号,一次性拿1000個序列号,在redis裡面加一,批量生成序列号提升性能
因為string
類型是二進制安全的,可以用來存放圖檔,視訊等内容,另外由于Redis的高性能讀寫功能,而string類型的value也可以是數字,可以用作計數器(INCR,DECR),比如分布式環境中統計系統的線上人數,秒殺等。
哈希hash
哈希hash(比string類型操作消耗記憶體和cpu更小,更節約空間,叢集架構下不适合大規模使用)
可以通過hmget user 1:name 1:balance 實作對象緩存:多個字段修改友善一些,大資料量要進行分段存儲
電商購物車實作場景可以通過hset 添加商品 hincrby 添加商品數量 hlen擷取商品總數 hdel删除商品
hgetall擷取購物車所有商品
可以做單點登入存放使用者資訊
清單list
<