Redis實際應用場景

1.字符串存儲String

熱點數(shù)據(jù)緩存

由于redis訪問速度塊、支持的數(shù)據(jù)類型比較豐富尘盼,所以redis很適合用來存儲熱點數(shù)據(jù),另外結合expire卿捎,我們可以設置過期時間然后再進行緩存更新操作,這個功能最為常見躺孝,我們幾乎所有的項目都有所運用底桂。

a.單值緩存:

set key value ex time
get key

b.對象緩存

1.set user:1 value(json數(shù)據(jù)格式)
2.mset user:1:name laowang user:1:balance 8888
megt user:1:name user:1:balance

分布式鎖

setnx product:1 true 返回1表示獲取鎖成功,返回0表示獲取鎖失敗
del product:1 刪除鎖
set product:1 true ex 10 nx 防止程序意外終止導致死鎖

計數(shù)籽懦,如:統(tǒng)計文章點擊數(shù)

incr article:count:{id}
get article:count:{id}

Session共享

使用session作為key,用戶信息作為value

分布式全局序列號

incrby key 1

2.哈希表存儲Hash

對象屬性操作

hset user username laowang
hset user balance 8001
hincrbyfloat user balance 22

購物車

添加購物車:
hset cart:1001 10089 1
hset cart:1001 10089 1
獲取購物車
hgetall cart:1001

優(yōu)缺點

優(yōu)點:
1)同類數(shù)據(jù)歸類整合存儲厅篓,方便數(shù)據(jù)管理
2)相比string捶码,消耗的資源更小
3)相比string,更節(jié)省空間
缺點:
1)過期功能不能使用在field上
2)redis分片集群下按key分片乏苦,不適合大規(guī)模適用

3.列表存儲List

常用數(shù)據(jù)結構

stack(棧)=lpush+lpop-->filo
queue(隊列)=lpush+rpop-->fifo
blocking queue(阻塞隊列)=lpush=brpop

消息的時間軸顯示

lpush msg:user-1001 msgid1
lpush msg:user-1001 msgid2
lrange msg:user-1001 0 5

4.集合Set

抽獎程序

sadd key {userId} --添加用戶
smembers key --查看所有用戶
srandmember key [count] --隨機抽取count人尤筐,不從集合刪除
spop key [count] --隨機抽取count人洞就,從集合刪除

點贊、收藏旬蟋、標簽

sadd like:msgId {userId} --點贊
srem like:msgId {userId} --取消點贊
sismember like:msgId {userId} --檢查用戶是否點過贊
smembers like:msgId --獲取點贊用戶列表
scard like:msgId --獲取點贊用戶數(shù)

5.有序集合SortedSet

熱點排行榜

zincrby hotNews:20201126 1 newsId --點擊+1
zrevrank hotNews:20201126 0 9 withscores --獲取排名前十的
zunionstore hotNews:20201120-20201126 7 hotNews:20201120 hotNews:20201121 ... hotNews:20201126 --7日新聞排行榜
zrevrank hotNews:20201120-20201126 0 9 withscores --暫時7日排行榜前十

6.位圖Bitmap

簽到功能

  • 用戶2月17號簽到
    SETBIT u:sign:1000:201902 16 1 # 偏移量是從0開始倾贰,所以要把17減1
  • 檢查2月17號是否簽到
    GETBIT u:sign:1000:201902 16 # 偏移量是從0開始,所以要把17減1
  • 統(tǒng)計2月份的簽到次數(shù)
    BITCOUNT u:sign:1000:201902
  • 獲取2月份前28天的簽到數(shù)據(jù)
    BITFIELD u:sign:1000:201902 get u28 0
  • 獲取2月份首次簽到的日期
    BITPOS u:sign:1000:201902 1 # 返回的首次簽到的偏移量匆浙,加上1即為當月的某一天

布隆過濾器值存儲

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市挑庶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌迎捺,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抄沮,死亡現(xiàn)場離奇詭異范舀,居然都是意外死亡,警方通過查閱死者的電腦和手機聪全,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門辅辩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人玫锋,你說我怎么就攤上這事∏妫” “怎么了节沦?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長甫贯。 經常有香客問我,道長赔桌,這世上最難降的妖魔是什么渴逻? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮惨奕,結果婚禮上,老公的妹妹穿的比我還像新娘茧泪。我一直安慰自己,他們只是感情好队伟,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著港令,像睡著了一般锈颗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上击吱,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音朵纷,去河邊找鬼永脓。 笑死,一個胖子當著我的面吹牛常摧,可吹牛的內容都是我干的。 我是一名探鬼主播落午,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼板甘,長吁一口氣:“原來是場噩夢啊……” “哼详炬!你這毒婦竟也來了?” 一聲冷哼從身側響起呛谜,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎猫妙,沒想到半個月后聚凹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體割坠,經...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡彼哼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了剪菱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡孝常,死狀恐怖蚓哩,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情岸梨,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布洛巢,位于F島的核電站次兆,受9級特大地震影響,放射性物質發(fā)生泄漏芥炭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一渺蒿、第九天 我趴在偏房一處隱蔽的房頂上張望彪薛。 院中可真熱鬧,春花似錦善延、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至屋摇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間摊册,已是汗流浹背颊艳。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棋枕,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓兵睛,卻偏偏與公主長得像窥浪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子漾脂,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內容