日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

redis常用数据类型的场景,你真的用对了么?

發(fā)布時間:2023/12/15 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis常用数据类型的场景,你真的用对了么? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)注微信公眾號“蝦米聊吧”,每天更新一篇技術(shù)文章,文章內(nèi)容涵蓋架構(gòu)師成長必經(jīng)之路應(yīng)掌握的技術(shù),一起學(xué)習(xí),一起交流。

?

redis常用數(shù)據(jù)類型的場景,你真的用對了么?

?

redis常用數(shù)據(jù)類型包含string、hashmap、list、set、sorted set。

?

string類型

1) 單值緩存

set key value

這個沒啥好說的

2) 對象緩存

set? user:1? value(json格式)

3)分布式鎖

setnx product:10001? true //返回1代表獲取鎖成功

setnx product:10001? true //返回0代表獲取鎖失敗

del product:100001?????? //執(zhí)行業(yè)務(wù)完畢刪除key釋放鎖

set product:100001?????? //設(shè)置過期時間(防止程序意外終止導(dǎo)致死鎖)

4)redis 分布式session

5)計數(shù)器

文章瀏覽量計數(shù)(每瀏覽一次文章瀏覽量+1)

incr article:readcount:{文章id}

6)分布式全局id序列號

可以通過redis提前批量生產(chǎn)唯一序列號提升性能,比如高并發(fā)下的訂單id序列

incrby orderId 100001????????

?

hash類型

1) 對象存儲

hset key field value

hset user {userId}? {user object}

?

hash類的數(shù)據(jù)結(jié)構(gòu),主要用來存放一些對象,把一些簡單的對象給緩存起來,后續(xù)操作的時候,你可以直接僅僅修改這個對象中的某個字段的值。

?

典型場景:用戶購物車

?

?

list類型

注:list是一個有序列表,使用得好是可以玩出很多花樣的

使用場景1:棧、隊列

?

使用場景2:微博大V粉絲列表,微博關(guān)注消息推送,訂閱號關(guān)注消息推送等

?

key=大v? value=[a,b,c…]

可以用list存儲一些列表型的數(shù)據(jù)結(jié)構(gòu),如:粉絲列表、文章評論列表之類。

另外可以通過lrange命令,從某個元素開始讀取某段范圍的數(shù)據(jù),可以基于list實現(xiàn)分頁查詢,基于redis實現(xiàn)簡單的高性能分頁,可以做類似微博那種下拉不斷分頁的效果,性能很高。

?

set類型

注:set集合是一個無序集合,自動去重,因此可以通過set做數(shù)據(jù)的全局去重。

使用場景1:微信抽獎小程序

srandmember key [count]:從集合中隨機(jī)獲取count名用戶(不會刪除)

spop key [count]:隨機(jī)從集合中移除并返回這個被移除的元素

?

使用場景2:微信微博點贊、收藏、標(biāo)簽

使用場景3:關(guān)注模型

?

通過sdiff、sinter、sunion實現(xiàn)集合的交集(比如微博的共同關(guān)注列表)、并集差集(可能感興趣的人)等

?

?

sorted set類型

這是一個排序的set,可以去重也可以排序,比如存儲的時候設(shè)置一個分?jǐn)?shù),則可以自動根據(jù)分?jǐn)?shù)排序,最大的特點就是有個分?jǐn)?shù)可以通過自定義排序規(guī)則。

最常見的使用場景:排行榜

即將每個用戶以及對應(yīng)的分?jǐn)?shù)寫入,就可以獲取top 10的用戶,也可以獲取到排行榜里的排名情況。

命令:zadd、zrevrange

?

圖片摘自網(wǎng)絡(luò)。

?

關(guān)注微信公眾號“蝦米聊吧”,獲取更多知識資料干貨~,一起交流,一起學(xué)習(xí)~,

一起打卡學(xué)習(xí),一起交流進(jìn)步吧!

微信掃描二維碼,關(guān)注我的公眾號

?

總結(jié)

以上是生活随笔為你收集整理的redis常用数据类型的场景,你真的用对了么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。