主頁(yè) > 知識(shí)庫(kù) > 了解Redis常見(jiàn)應(yīng)用場(chǎng)景

了解Redis常見(jiàn)應(yīng)用場(chǎng)景

熱門(mén)標(biāo)簽:AI電銷(xiāo) 地方門(mén)戶(hù)網(wǎng)站 網(wǎng)站排名優(yōu)化 服務(wù)外包 呼叫中心市場(chǎng)需求 百度競(jìng)價(jià)排名 鐵路電話系統(tǒng) Linux服務(wù)器

一、String 場(chǎng)景

計(jì)數(shù)功能:

  • 例如掘金文章點(diǎn)擊數(shù)量,閱讀數(shù)量。
  • 集群環(huán)境下的session共享。

二、Hash 場(chǎng)景

各種 商城購(gòu)物車(chē) (淘寶,京東。。)

設(shè)計(jì)思路:

1.購(gòu)物車(chē)綁定了 userId。

2.商品id作為feild,商品數(shù)量作為value。

模擬過(guò)程:

// 初始化購(gòu)物車(chē)數(shù)據(jù)

hmset userId:1 prod:1 1 prod:2 3 prod:3 4

// 增加商品 prod:1 購(gòu)買(mǎi)數(shù)量為2件時(shí)

hincrby userId:1  prod:1 1

// 減少商品 prod:2 數(shù)量為1件時(shí)

hincrby userId:1 prod:2 -2

// 刪除商品 prod:1 時(shí)

hdel userId:1 prod:1

// 統(tǒng)計(jì)商品數(shù)

hlen userId:1

三、List 場(chǎng)景

微信公眾號(hào)訂閱消息

設(shè)計(jì)思路:

公眾號(hào)發(fā)布消息時(shí),向訂閱本公眾號(hào)的用戶(hù)(mess:1)推送(將訂閱消息id通過(guò)lpush放入用戶(hù)的list中),模擬過(guò)程。

模擬過(guò)程:

// 推送消息

lpush mess:1 999

lpush mess:1 1000

lpush mess:1 1010

// 查看消息,返回結(jié)果1010 1000 999

lrange mess:1 0 -1

四、Set 場(chǎng)景

限時(shí)抽獎(jiǎng)活動(dòng):例如微信有個(gè)活動(dòng),活動(dòng)id為2,如何基于Redis設(shè)計(jì)實(shí)現(xiàn)。

設(shè)計(jì)思路:

用戶(hù)點(diǎn)擊立即參與后,將用戶(hù)id保存到活動(dòng)id的集合中,利用Set集合的元素唯一性可查看參加用戶(hù)、參加用戶(hù)數(shù)量等等。

模擬過(guò)程:

// 用戶(hù)user:1 user:2 user:3參加抽獎(jiǎng)活動(dòng)act:888

sadd act:888 user:1 user:2 user:3

// 模擬一次性隨機(jī)抽獎(jiǎng)1名

srandmember act:888

// 模擬兩次抽獎(jiǎng),兩次抽獎(jiǎng)不重復(fù),使用spop命令,抽取中的用戶(hù)會(huì)從set中移除

spop act:888

spop act:888

好友關(guān)系:共同關(guān)注,我關(guān)注的人也關(guān)注了他,我可能認(rèn)識(shí)的人

注: 如果數(shù)據(jù)量大的情況下使用大數(shù)據(jù)分析

設(shè)計(jì)思路:兩個(gè)集合取交集

模擬過(guò)程:

// 三個(gè)用戶(hù)關(guān)注的人

sadd user:1 zhangsan lisi wangwu

sadd user:2 zhangsan liliu wanger wangwu

sadd user:3 list wangwu liliu

// user:1和user:2共同關(guān)注的人,取交集,返回zhangsan wangwu

sinter user:1 user:2

五、zSet 場(chǎng)景

各種榜單:

例如百度新聞排名

設(shè)計(jì)思路:

將新聞id作為member,點(diǎn)擊次數(shù)設(shè)置為score,每點(diǎn)擊一次score+1,當(dāng)然,為了每日榜單,member在設(shè)計(jì)時(shí)可以加上后綴用于日期區(qū)分,例如news:20191216、news:20191217 。

模擬過(guò)程:

// 增加熱點(diǎn)新聞

zadd topic:20191216 100 new:1 200 new:2 150 new:3 500 new:4

// new:1點(diǎn)擊了120次,點(diǎn)擊數(shù)變?yōu)?20

zincrby topic:20191216 120 new:1

// 查看今日排行前3名,返回 new:4 500 new:1 220 new:2 200

zrevrange topic:20191216 0 2 withscores

zadd topic:20191217 110 new:1 200 new:2 150 new:3 100 new:4

zadd topic:20191218 110 new:5 200 new:2 150 new:6 100 new:7

// 合并三日的數(shù)據(jù)

zunionstore topic:3day 3 topic:20191216 topic:20191217 topic:201912168

// 查看近三日排行榜前三名,返回new:4 600 new:2 600 new:1 330

zrevrange topic:3day 0 2 withscores

以上就是了解Redis常見(jiàn)應(yīng)用場(chǎng)景的詳細(xì)內(nèi)容,更多關(guān)于Redis常見(jiàn)應(yīng)用場(chǎng)景的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • redis的五大數(shù)據(jù)類(lèi)型應(yīng)用場(chǎng)景分析
  • 解析redis hash應(yīng)用場(chǎng)景和常用命令
  • 詳解Redis基本命令與使用場(chǎng)景
  • 淺談Redis在直播場(chǎng)景的實(shí)踐方案
  • SpringBoot集成Redisson實(shí)現(xiàn)延遲隊(duì)列的場(chǎng)景分析
  • 淺談redis五大數(shù)據(jù)結(jié)構(gòu)和使用場(chǎng)景
  • 詳解redis中的鎖以及使用場(chǎng)景
  • Redis的11種Web應(yīng)用場(chǎng)景簡(jiǎn)介
  • Redis 常見(jiàn)使用場(chǎng)景

標(biāo)簽:衡水 蘭州 仙桃 湘潭 崇左 黃山 銅川 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《了解Redis常見(jiàn)應(yīng)用場(chǎng)景》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266