中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

redis如何實現多級緩存

發布時間:2020-05-20 14:45:16 來源:億速云 閱讀:639 作者:鴿子 欄目:關系型數據庫

                                                           redis如何實現多級緩存

按照粒度由粗到細:

以商品詳情頁為例

1、頁面級別緩存

(有時也叫url級別緩存,將頁面手動渲染存到redis(key=商品id,val="商品詳情頁面,以后再次請求這個頁面時,從redis中獲取,直接向前端返回text/html,并且可以告訴瀏覽器在本地緩存該頁面,缺點是頁面數據更新不及時)

2、對象級別緩存

(如商品數據,(key=  商品id,val=“數據庫查出的商品數據”)將查詢過一次的商品信息存到redis,第二次請求改商品數據時,優先到redis查詢)

redis做緩存的思路是:

1、先檢查redis有無數據

1.1、有就返回

1.2、沒有,就查詢數據庫,存入redis,再返回

2、注意緩存的生命周期,

如果周期是永久,那么redis很容易崩掉,只是時間的問題

redis在秒殺中的使用:

1、先將秒殺商品庫存預存到redis

2、秒殺開始后,在redis中預減庫存,減為0該商品秒殺結束(redis是單線程的)

3、如果為了減輕對redis的訪問壓力,可以將用戶提交的秒殺請求放到mq(比如RabbitMq)中

比如一共只有10件商品,一共有10萬用戶虎視眈眈,都幾乎同一時間提交秒殺請求,

3.1、可以將請求放到消息隊列中,返回給前端是“排隊中";

3.2、消費者(隊列的”消費者“)按照固定的速度從消息隊列中取數據,創建訂單到數據庫(也就有條不紊的創建10個訂單,數據庫0沖擊),

3.3、雖然有可能是排到前10的用戶,如果由于某種原因創建訂單失敗,就會將該用戶的秒殺請求放到mq尾部,接著給隊列中的其他用戶創建訂單

3.4、創建訂單成功的請求,將該請求從mq中移除,對用戶發送短信”恭喜,秒殺成功!“

3.5、成功創建10個訂單之后(也就是秒殺結束),給隊列中其他用戶請求返回”秒殺失敗“

以上就是redis多級緩存介紹的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

锡林浩特市| 惠州市| 青铜峡市| 灵川县| 肥城市| 商河县| 榆社县| 万全县| 大英县| 昌邑市| 泗阳县| 兴仁县| 蛟河市| 宜都市| 文化| 浙江省| 老河口市| 凤冈县| 临西县| 河曲县| 镇平县| 彝良县| 揭阳市| 鄂州市| 娄底市| 隆回县| 石屏县| 隆昌县| 灌阳县| 揭东县| 大宁县| 镇巴县| 鹿邑县| 合川市| 宝应县| 昌平区| 忻州市| 包头市| 闻喜县| 基隆市| 新干县|