您好,登錄后才能下訂單哦!
人就是很奇怪的動物,很簡單的問題往往大家都容易忽略,當我們在使用分布式緩存Redis的時候,一個最簡單的問題往往被人忽略,Redis的數據類型以及每種數據類型的使用場景是什么?
是不是覺得這個問題很基礎?我也這么覺得。然而根據調查經驗發現,至少百分之八十的人答不上這個問題。
基本上,一個合格的程序員,五種類型都會用到。
這個沒啥好說的,最常規的 set/get 操作,Value 可以是 String 也可以是數字。一般做一些復雜的計數功能的緩存。
這里 Value 存放的是結構化的對象,比較方便的就是操作其中的某個字段。
我在做單點登錄的時候,就是用這種數據結構存儲用戶信息,以 CookieId 作為 Key,設置 30 分鐘為緩存過期時間,能很好的模擬出類似 Session 的效果。
使用 List 的數據結構,可以做簡單的消息隊列的功能。另外還有一個就是,可以利用 lrange 命令,做基于 Redis 的分頁功能,性能極佳,用戶體驗好。
因為 Set 堆放的是一堆不重復值的集合。所以可以做全局去重的功能。為什么不用 JVM 自帶的 Set 進行去重?
因為我們的系統一般都是集群部署,使用 JVM 自帶的 Set,比較麻煩,難道為了一個做一個全局去重,再起一個公共服務,太麻煩了。
另外,就是利用交集、并集、差集等操作,可以計算共同喜好,全部的喜好,自己獨有的喜好等功能。
Sorted Set多了一個權重參數 Score,集合中的元素能夠按 Score 進行排列。
可以做排行榜應用,取 TOP N 操作。Sorted Set 可以用來做延時任務。最后一個應用就是可以做范圍查找。
如果你對Redis這一塊有什么深入的研究,歡迎來華為云官方論壇發帖,一起探討一下,也可以到華為云幫助中心,看看我們詳細的使用操作說明書吧
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。