国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Redis > 正文

Redis 在真實世界的 5 個用法

2020-03-17 12:35:03
字體:
來源:轉載
供稿:網友

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

Redis是一個強大的內存數據結構存儲,包含數據庫,緩存和消息代理等多種用途。大多數人經常認為它不過是一個簡單的鍵值存儲,但其實它有更多的能力。下面我將會總結一些Redis可以做的事情的真實例子。

redis,用法

1、全頁面緩存

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

簡單命令

/ Set the page that will last 1 minuteSET key "<html>...</html>" EX 60// Get the pageGET key

2、排行榜

Redis令人耀眼的地方之一就是排行榜。由于Redis在內存中,因此可以非常快速和高效地處理遞增和遞減。將此與每個請求運行SQL查詢比較,性能收益巨大!這與Redis的排序集相結合意味著你可以以毫秒為單位抓取列表中評分最高的項目,而且實現起來非常容易。

簡單命令

// Add an item to the sorted setZADD sortedSet 1 "one"// Get all items from the sorted setZRANGE sortedSet 0 -1// Get all items from the sorted set with their scoreZRANGE sortedSet 0 -1 WITHSCORES

3、會話Session存儲

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

簡單命令

// Set session that will last 1 minuteSET randomHash "{userId}" EX 60// Get userIdGET randomHash

4、隊列

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

簡單命令

// Add a MessageHSET messages <id> <message>ZADD due <due_timestamp> <id>// Recieving MessageZRANGEBYSCORE due -inf <current_timestamp> LIMIT 0 1HGET messages <message_id>// Delete MessageZREM due <message_id>HDEL messages <message_id>

5、pub/sub

Redis在真實世界的最終用法即我將在這篇文章中提出的pub / sub。這是Redis內置的最強大的功能之一;得到的可能是無限的。你可以創建一個實時聊天系統,在社交網絡上觸發好友請求的通知等等。這個功能是Redis提供的最被低估的功能之一,但功能非常強大,而且使用簡單。

簡單命令

// Add a message to a channelPUBLISH channel message// Recieve messages from a channelSUBSCRIBE channel

結論

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


注:相關教程知識閱讀請移步到Redis頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南乐县| 内丘县| 谷城县| 桦甸市| 乐亭县| 永安市| 栾川县| 穆棱市| 池州市| 新民市| 香港| 金塔县| 十堰市| 商丘市| 河西区| 民丰县| 迁安市| 峡江县| 慈利县| 沙湾县| 闻喜县| 聊城市| 普宁市| 公主岭市| 资兴市| 定南县| 宝清县| 峨山| 宁陕县| 连平县| 油尖旺区| 河西区| 许昌县| 隆子县| 宁波市| 绥阳县| 玛多县| 沽源县| 隆德县| 巩留县| 德庆县|