欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

了解Redis常見應(yīng)用場景

 更新時間:2021年06月23日 09:44:29   作者:IT王小二  
Redis是一個key-value存儲系統(tǒng),現(xiàn)在在各種系統(tǒng)中的使用越來越多,大部分情況下是因?yàn)槠涓咝阅艿奶匦?,被?dāng)做緩存使用,這里介紹下Redis經(jīng)常遇到的使用場景

一、String 場景

計數(shù)功能:

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

二、Hash 場景

各種 商城購物車 (淘寶,京東。。)

設(shè)計思路:

1.購物車綁定了 userId。

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

模擬過程:

// 初始化購物車數(shù)據(jù)

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

// 增加商品 prod:1 購買數(shù)量為2件時

hincrby userId:1  prod:1 1

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

hincrby userId:1 prod:2 -2

// 刪除商品 prod:1 時

hdel userId:1 prod:1

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

hlen userId:1

三、List 場景

微信公眾號訂閱消息

設(shè)計思路:

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

模擬過程:

// 推送消息

lpush mess:1 999

lpush mess:1 1000

lpush mess:1 1010

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

lrange mess:1 0 -1

四、Set 場景

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

設(shè)計思路:

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

模擬過程:

// 用戶user:1 user:2 user:3參加抽獎活動act:888

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

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

srandmember act:888

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

spop act:888

spop act:888

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

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

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

模擬過程:

// 三個用戶關(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 場景

各種榜單:

例如百度新聞排名

設(shè)計思路:

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

模擬過程:

// 增加熱點(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常見應(yīng)用場景的詳細(xì)內(nèi)容,更多關(guān)于Redis常見應(yīng)用場景的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 在redhat6.4安裝redis集群【教程】

    在redhat6.4安裝redis集群【教程】

    這篇文章主要介紹了在redhat6.4安裝redis集群【教程】,需要的朋友可以參考下
    2016-05-05
  • Redis migrate數(shù)據(jù)遷移工具的使用教程

    Redis migrate數(shù)據(jù)遷移工具的使用教程

    這篇文章主要給大家介紹了關(guān)于Redis migrate數(shù)據(jù)遷移工具的使用教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Redis中三種特殊數(shù)據(jù)類型命令詳解

    Redis中三種特殊數(shù)據(jù)類型命令詳解

    Geospatial是地理位置類型,我們可以用來查詢附近的人、計算兩人之間的距離等,這篇文章主要介紹了Redis中三種特殊數(shù)據(jù)類型命令詳解,需要的朋友可以參考下
    2024-05-05
  • 一文詳解Redis中的持久化

    一文詳解Redis中的持久化

    這篇文章主要介紹了一文詳解Redis中的持久化,持久化功能有效地避免因進(jìn)程退出造成的數(shù)據(jù)丟失問題,當(dāng)下次重啟時利用之前持久化的文件即可實(shí)現(xiàn)數(shù)據(jù)恢復(fù)
    2022-09-09
  • Redis實(shí)現(xiàn)限流器的三種方法(小結(jié))

    Redis實(shí)現(xiàn)限流器的三種方法(小結(jié))

    本文主要介紹了Redis實(shí)現(xiàn)限流器的三種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Redis?腳本和連接命令示例詳解

    Redis?腳本和連接命令示例詳解

    Redis腳本是一種可以實(shí)現(xiàn)復(fù)雜任務(wù)的腳本語言,可以用來快速履行復(fù)雜任務(wù),靈活處理數(shù)據(jù)管理和管理復(fù)雜的利用場景,這篇文章主要介紹了Redis?腳本和連接命令,需要的朋友可以參考下
    2023-09-09
  • 解決 Redis 數(shù)據(jù)傾斜、熱點(diǎn)等問題

    解決 Redis 數(shù)據(jù)傾斜、熱點(diǎn)等問題

    ?單臺機(jī)器的硬件配置有上限制約,一般我們會采用分布式架構(gòu)將多臺機(jī)器組成一個集群,這篇文章主要介紹了解決 Redis 數(shù)據(jù)傾斜、熱點(diǎn)等問題,需要的朋友可以參考下
    2022-12-12
  • Redis高效檢索地理位置的原理解析

    Redis高效檢索地理位置的原理解析

    這篇文章主要介紹了Redis是如何高效檢索地理位置,通過geo相關(guān)的命令,可以很容易在redis中存儲和使用經(jīng)緯度坐標(biāo)信息,具體實(shí)現(xiàn)方法跟隨小編一起看看吧
    2021-06-06
  • Redis Sorted Set 跳表的實(shí)現(xiàn)示例

    Redis Sorted Set 跳表的實(shí)現(xiàn)示例

    本文詳細(xì)解析了Redis中SortedSet跳表的實(shí)現(xiàn)原理,闡述了跳表的基本概念、結(jié)構(gòu)及其在SortedSet中的應(yīng)用,同時也指出了跳表在實(shí)際使用中的優(yōu)勢和局限,可以更好地運(yùn)用Redis的SortedSet,優(yōu)化高并發(fā)環(huán)境中的數(shù)據(jù)查詢與操作,感興趣的可以了解一下
    2024-10-10
  • Spring?Boot實(shí)戰(zhàn)解決高并發(fā)數(shù)據(jù)入庫之?Redis?緩存+MySQL?批量入庫問題

    Spring?Boot實(shí)戰(zhàn)解決高并發(fā)數(shù)據(jù)入庫之?Redis?緩存+MySQL?批量入庫問題

    這篇文章主要介紹了Spring?Boot實(shí)戰(zhàn)解決高并發(fā)數(shù)據(jù)入庫之?Redis?緩存+MySQL?批量入庫問題,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02

最新評論