redis 是乙個強大的記憶體型儲存,具有豐富的資料結構,使其可以應用於很多方面,包括作為資料庫、快取、訊息佇列等等。
如果你的印象中redis只是乙個 key-value 儲存,那就錯過了redis很多強大的功能,下面就是實際應用場景中5個最普遍的案例。
如果你使用的是伺服器端內容渲染,你又不想為每個請求重新渲染每個頁面,就可以使用 redis 把常被請求的內容快取起來,能夠大大的降低頁面請求的延遲,已經有很多框架用redis來快取頁面,這就是頁面靜態化的一種方式。
// set the page that will last 1 minute
set key "..." ex 60
// get the page
get key
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
這可能是應用最廣的點了,相比較於類似 memcache 的 session 儲存,redis 具有快取資料持久化的能力,當快取因出現問題而重啟後,之前的快取資料還在那兒,這個就比較實用,避免了因為session突然消失帶來的使用者體驗問題。
// set session that will last 1 minute
set randomhash "" ex 60
// get userid
get randomhash
例如 email 的傳送佇列、等待被其他應用消費的資料佇列,redis 可以輕鬆而自然的建立出乙個高效的佇列。
// add a message
hset messages zadd due // recieving message
zrangebyscore due -inf limit 0 1
hget messages // delete message
zrem due hdel messages
pub/sub 是 redis 內建的乙個非常強大的特性,例如可以建立乙個實時的聊天系統、社交網路中的通知觸發器等等。
// add a message to a channel
publish channel message
// recieve messages from a channel
subscribe channel
Redis 的 5 個常見應用場景
redis 是乙個強大的記憶體型儲存,具有豐富的資料結構,使其可以應用於很多方面,包括作為資料庫 快取 訊息佇列等等。如果你的印象中redis只是乙個 key value 儲存,那就錯過了redis很多強大的功能,下面就是實際應用場景中5個最普遍的案例。如果你使用的是伺服器端內容渲染,你又不想為每個...
Redis 的 5 個常見應用場景
前言 redis 是乙個強大的記憶體型儲存,具有豐富的資料結構,使其可以應用於很多方面,包括作為資料庫 快取 訊息佇列等等。如果你的印象中redis只是乙個 key value 儲存,那就錯過了redis很多強大的功能,下面就是實際應用場景中5個最普遍的案例。1.全頁面快取 如果你使用的是伺服器端內...
redis常見應用場景
redis應用場景總結redis平時我們用到的地方蠻多的,下面就了解的應用場景做個總結 1 熱點資料的快取由於redis訪問速度塊 支援的資料型別比較豐富,所以redis很適合用來儲存熱點資料,另外結合expire,我們可以設定過期時間然後再進行快取更新操作,這個功能最為常見,我們幾乎所有的專案都有...