久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日頭條 焦點資訊 營銷之道 企業報道 淘寶運營 網站建設 軟件開發 400電話
  當前位置: 首頁 » 資訊 » 軟件開發 » 正文

5個Redis的常見應用場景實例分析

放大字體  縮小字體 發布日期:2018-02-28  來源:企業800網  作者:新格網  瀏覽次數:18  【去百度看看】
核心提示:如果你的印象中Redis只是一個 key-value 存儲,那就錯過了Redis很多強大的功能,Redis 是一個強大的內存型存儲,具有豐富的數據結構,使其可以應用于很多方面,包括作為數據庫、緩存、消息隊列等等。
如果你的印象中Redis只是一個 key-value 存儲,那就錯過了Redis很多強大的功能,Redis 是一個強大的內存型存儲,具有豐富的數據結構,使其可以應用于很多方面,包括作為數據庫、緩存、消息隊列等等。

1. 全頁面緩存

如果你使用的是服務器端內容渲染,你又不想為每個請求重新渲染每個頁面,就可以使用 Redis 把常被請求的內容緩存起來,能夠大大的降低頁面請求的延遲,已經有很多框架用Redis來緩存頁面,這就是頁面靜態化的一種方式。

// Set the page that will last 1 minute
SET key "<html>...</html>" EX 60
// Get the page
GET key

2. 排行榜

Redis 基于內存,可以非常快速高效的處理增加和減少的操作,相比于使用 SQL 請求的處理方式,性能的提升是非常巨大的。

Redis 的有序集合可以輕松實現“從一個大型列表中取得排名最高的N個元素”,毫秒級,而且非常簡單。

// Add an item to the sorted set
ZADD sortedSet 1 "one"
// Get all items from the sorted set
ZRANGE sortedSet 0 -1
// Get all items from the sorted set with their score
ZRANGE sortedSet 0 -1 WITHSCORES

3. Session 存儲

這可能是應用最廣的點了,相比較于類似 memcache 的 session 存儲,Redis 具有緩存數據持久化的能力,當緩存因出現問題而重啟后,之前的緩存數據還在那兒,這個就比較實用,避免了因為session突然消失帶來的用戶體驗問題。

// Set session that will last 1 minute
SET randomHash "{userId}" EX 60
// Get userId
GET randomHash

4. 隊列

例如 email 的發送隊列、等待被其他應用消費的數據隊列,Redis 可以輕松而自然的創建出一個高效的隊列。

// Add a Message
HSET messages <id> <message>
ZADD due <due_timestamp> <id>
// Recieving Message
ZRANGEBYSCORE due -inf <current_timestamp> LIMIT 0 1
HGET messages <message_id>
// Delete  Message
ZREM due <message_id>
HDEL messages <message_id>

5. 發布/訂閱

pub/sub 是 Redis 內置的一個非常強大的特性,例如可以創建一個實時的聊天系統、社交網絡中的通知觸發器等等。

// Add a message to a channel
PUBLISH channel message
// Recieve messages from a channel
SUBSCRIBE channel

相關推薦:

PHP使用Redis實例講解

PHP關于redis計數器類定義與用法

PHP項目中需要用到Redis的場景

以上就是5個Redis的常見應用場景實例分析的詳細內容,更多請關注php中文網其它相關文章!

 
關鍵詞: Redis,場景,應用
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規舉報 ]  [ 關閉窗口 ]

 
0條 [查看全部]  相關評論

 
網站首頁 | 關于我們 | 聯系方式 | 使用協議 | 版權隱私 | 網站地圖 | 排名推廣 | 廣告服務 | 積分換禮 | 網站留言 | RSS訂閱 | 吉ICP備11001726號-6
企業800網 · 提供技術支持