溫馨提示×

溫馨提示×

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

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

Redis在真實(shí)世界的5個(gè)用法分別是什么

發(fā)布時(shí)間:2021-11-29 14:01:44 來源:億速云 閱讀:122 作者:柒染 欄目:數(shù)據(jù)庫

Redis在真實(shí)世界的5個(gè)用法分別是什么,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

Redis是一個(gè)強(qiáng)大的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲,包含數(shù)據(jù)庫,緩存和消息代理等多種用途。大多數(shù)人經(jīng)常認(rèn)為它不過是一個(gè)簡單的鍵值存儲,但其實(shí)它有更多的能力。下面我將會總結(jié)一些Redis可以做的事情的真實(shí)例子。

1、全頁面緩存

首先是整頁緩存。如果你正在使用服務(wù)器端呈現(xiàn)的內(nèi)容,則不需要為每個(gè)單獨(dú)的請求重新渲染每個(gè)頁面。使用如Redis這樣的緩存,你可以緩存經(jīng)常請求的內(nèi)容,從而大大減少請求最多的頁面的延遲,并且大多數(shù)框架針對Redis緩存頁面都有hooks。

簡單命令

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

2、排行榜

Redis令人耀眼的地方之一就是排行榜。由于Redis在內(nèi)存中,因此可以非??焖俸透咝У靥幚磉f增和遞減。將此與每個(gè)請求運(yùn)行SQL查詢比較,性能收益巨大!這與Redis的排序集相結(jié)合意味著你可以以毫秒為單位抓取列表中評分***的項(xiàng)目,而且實(shí)現(xià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存儲

我所見的Redis最常見的用途是會話存儲。與其他會話存儲(如Memcache)不同,Redis可以保留數(shù)據(jù),以便在緩存停止的情況下,在重新啟動(dòng)時(shí),所有數(shù)據(jù)仍然存在。即便不是需要嚴(yán)格持續(xù)的任務(wù),此功能仍可以為你的用戶省去大量的麻煩。沒有人會樂于見到他們的會話被無緣無故隨機(jī)刪掉。

簡單命令

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

4、隊(duì)列

使用Redis可以做的一個(gè)不太常見,但非常有用的事情是排隊(duì)。無論是電子郵件隊(duì)列還是其他應(yīng)用程序使用的數(shù)據(jù),你都可以在Redis中創(chuàng)建一個(gè)高效的隊(duì)列。任何熟悉堆棧以及會push和pop項(xiàng)目的開發(fā)人員都可以輕松自然地使用此功能。

簡單命令

// 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在真實(shí)世界的最終用法即我將在這篇文章中提出的pub / sub。這是Redis內(nèi)置的***大的功能之一;得到的可能是***的。你可以創(chuàng)建一個(gè)實(shí)時(shí)聊天系統(tǒng),在社交網(wǎng)絡(luò)上觸發(fā)好友請求的通知等等。這個(gè)功能是Redis提供的最被低估的功能之一,但功能非常強(qiáng)大,而且使用簡單。

簡單命令

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

關(guān)于Redis在真實(shí)世界的5個(gè)用法分別是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI