濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Redis 在真實(shí)世界的 5 個(gè)用法

Redis 在真實(shí)世界的 5 個(gè)用法

熱門標(biāo)簽:小紅書怎么地圖標(biāo)注店 西藏教育智能外呼系統(tǒng)價(jià)格 太原營(yíng)銷外呼系統(tǒng) 竹間科技AI電銷機(jī)器人 地圖標(biāo)注費(fèi)用 玄武湖地圖標(biāo)注 最簡(jiǎn)單的百度地圖標(biāo)注 地圖標(biāo)注如何即時(shí)生效 百度商家地圖標(biāo)注怎么做

Redis是一個(gè)開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API。從2010年3月15日起,Redis的開發(fā)工作由VMware主持。從2013年5月開始,Redis的開發(fā)由Pivotal贊助。

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

1、全頁面緩存

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

簡(jiǎn)單命令

/ 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è)請(qǐng)求運(yùn)行SQL查詢比較,性能收益巨大!這與Redis的排序集相結(jié)合意味著你可以以毫秒為單位抓取列表中評(píng)分最高的項(xiàng)目,而且實(shí)現(xiàn)起來非常容易。

簡(jiǎ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、會(huì)話Session存儲(chǔ)

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

簡(jiǎn)單命令

// 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ì)列。任何熟悉堆棧以及會(huì)push和pop項(xiàng)目的開發(fā)人員都可以輕松自然地使用此功能。

簡(jiǎn)單命令

// 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)置的最強(qiáng)大的功能之一;得到的可能是無限的。你可以創(chuàng)建一個(gè)實(shí)時(shí)聊天系統(tǒng),在社交網(wǎng)絡(luò)上觸發(fā)好友請(qǐng)求的通知等等。這個(gè)功能是Redis提供的最被低估的功能之一,但功能非常強(qiáng)大,而且使用簡(jiǎn)單。

簡(jiǎn)單命令

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

結(jié)論

我希望你會(huì)喜歡這些Redis在真實(shí)世界的使用。雖然這篇文章只抓住了Redis能為你做的事情的表面,但是我希望你能從中獲得應(yīng)如何充分利用Redis的啟發(fā)。

您可能感興趣的文章:
  • PHP基于redis計(jì)數(shù)器類定義與用法示例
  • php Redis函數(shù)用法實(shí)例總結(jié)【附php連接redis單例類】
  • PHP數(shù)據(jù)庫操作三:redis用法分析
  • 配置Spring4.0注解Cache+Redis緩存的用法
  • Go語言操作redis用法實(shí)例
  • PHP中redis的用法深入解析

標(biāo)簽:唐山 林芝 廣東 澳門 香港 揚(yáng)州 景德鎮(zhèn) 贛州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Redis 在真實(shí)世界的 5 個(gè)用法》,本文關(guān)鍵詞  Redis,在,真實(shí),世界,的,個(gè),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Redis 在真實(shí)世界的 5 個(gè)用法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Redis 在真實(shí)世界的 5 個(gè)用法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    灵丘县| 峨边| 晋州市| 涪陵区| 株洲县| 阿坝县| 邛崃市| 宣城市| 玛曲县| 内乡县| 台北市| 郴州市| 木兰县| 富平县| 临朐县| 清水县| 新津县| 洛川县| 平乡县| 茌平县| 蓬莱市| 施甸县| 南部县| 民权县| 东宁县| 横峰县| 岳阳县| 凤阳县| 丰城市| 临江市| 萝北县| 鄯善县| 息烽县| 临汾市| 新田县| 普洱| 淳化县| 平乡县| 西丰县| 光泽县| 汝城县|