云計算
人就是很奇怪的動物,很簡單的問題往往大家都容易忽略,當我們在使用分布式緩存Redis的時候,一個最簡單的問題往往被人忽略,Redis的數(shù)據(jù)類型以及每種數(shù)據(jù)類型的使用場景是什么?
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,肅州企業(yè)網(wǎng)站建設,肅州品牌網(wǎng)站建設,網(wǎng)站定制,肅州網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,肅州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。是不是覺得這個問題很基礎?我也這么覺得。然而根據(jù)調(diào)查經(jīng)驗發(fā)現(xiàn),至少百分之八十的人答不上這個問題。
基本上,一個合格的程序員,五種類型都會用到。
1.String這個沒啥好說的,最常規(guī)的 set/get 操作,Value 可以是 String 也可以是數(shù)字。一般做一些復雜的計數(shù)功能的緩存。
2.Hash這里 Value 存放的是結(jié)構(gòu)化的對象,比較方便的就是操作其中的某個字段。
我在做單點登錄的時候,就是用這種數(shù)據(jù)結(jié)構(gòu)存儲用戶信息,以 CookieId 作為 Key,設置 30 分鐘為緩存過期時間,能很好的模擬出類似 Session 的效果。
3.List使用 List 的數(shù)據(jù)結(jié)構(gòu),可以做簡單的消息隊列的功能。另外還有一個就是,可以利用 lrange 命令,做基于 Redis 的分頁功能,性能極佳,用戶體驗好。
4.Set因為 Set 堆放的是一堆不重復值的集合。所以可以做全局去重的功能。為什么不用 JVM 自帶的 Set 進行去重?
因為我們的系統(tǒng)一般都是集群部署,使用 JVM 自帶的 Set,比較麻煩,難道為了一個做一個全局去重,再起一個公共服務,太麻煩了。
另外,就是利用交集、并集、差集等操作,可以計算共同喜好,全部的喜好,自己獨有的喜好等功能。
5.Sorted SetSorted Set多了一個權(quán)重參數(shù) Score,集合中的元素能夠按 Score 進行排列。
可以做排行榜應用,取 TOP N 操作。Sorted Set 可以用來做延時任務。最后一個應用就是可以做范圍查找。
如果你對Redis這一塊有什么深入的研究,歡迎來華為云官方論壇發(fā)帖,一起探討一下,也可以到華為云幫助中心,看看我們詳細的使用操作說明書吧