自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Redis在現(xiàn)實(shí)世界的5個(gè)用法

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

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

[[221664]]

 

1、全頁(yè)面緩存

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

簡(jiǎn)單命令

 

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

2、排行榜

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

簡(jiǎn)單命令

 

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

3、會(huì)話Session存儲(chǔ)

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

簡(jiǎn)單命令

 

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

4、隊(duì)列

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

簡(jiǎn)單命令

 

  1. // Add a Message 
  2. HSET messages <id> <message> 
  3. ZADD due <due_timestamp> <id> 
  4. // Recieving Message 
  5. ZRANGEBYSCORE due -inf <current_timestamp> LIMIT 0 1 
  6. HGET messages <message_id> 
  7. // Delete  Message 
  8. ZREM due <message_id> 
  9. 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ā)好友請(qǐng)求的通知等等。這個(gè)功能是Redis提供的最被低估的功能之一,但功能非常強(qiáng)大,而且使用簡(jiǎn)單。

簡(jiǎn)單命令

 

  1. // Add a message to a channel  
  2. PUBLISH channel message  
  3. // Recieve messages from a channel  
  4. SUBSCRIBE channel 

結(jié)論

 

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

原文鏈接:https://ryanmccue.ca/5-real-world-uses-for-redis/ 

責(zé)任編輯:龐桂玉 來(lái)源: 數(shù)據(jù)庫(kù)開(kāi)發(fā)
相關(guān)推薦

2018-02-09 08:09:24

Redis軟件用法

2020-01-15 12:43:51

人工智能機(jī)器學(xué)習(xí)工程師

2018-05-11 15:36:43

數(shù)據(jù)科學(xué)算法數(shù)據(jù)分析

2018-03-01 14:49:53

多云云計(jì)算混合云

2012-11-15 09:27:21

2023-09-06 15:27:00

混合現(xiàn)實(shí)架構(gòu)

2020-11-30 10:41:25

CIO首席信息官IT文化

2023-07-27 14:44:03

物聯(lián)網(wǎng)IOT

2020-11-30 12:57:27

IT文件數(shù)字化IT組織

2009-08-07 08:33:18

魔獸世界玩網(wǎng)癮

2020-11-25 13:33:07

區(qū)塊鏈比特幣加密貨幣

2021-02-04 09:52:30

增強(qiáng)現(xiàn)實(shí)AR數(shù)字通信

2024-02-23 09:36:50

2021-01-21 15:40:45

VRARVR眼鏡

2023-09-20 14:32:07

云計(jì)算

2021-05-12 10:13:20

芯片芯片短缺

2011-06-01 14:16:17

SQL Azure

2017-12-29 09:18:35

公共云成功經(jīng)驗(yàn)

2022-01-14 11:48:39

量子計(jì)算硬件技術(shù)

2021-08-20 08:00:00

大數(shù)據(jù)開(kāi)發(fā)技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)