今天就跟大家聊聊有關(guān)redis作用有哪五種,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的新豐網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!通常局限點來說,Redis也以消息隊列的形式存在,作為內(nèi)嵌的List存在,滿足實時的高并發(fā)需求。而通常在一個電商類型的數(shù)據(jù)處理過程之中,有關(guān)商品,熱銷,推薦排序的隊列,通常存放在Redis之中,期間也包擴Storm對于Redis列表的讀取和更新。
Redis是一個高性能的key-value數(shù)據(jù)庫。
Redis 與其他 key - value 緩存產(chǎn)品有以下三個特點:
- Redis支持數(shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時候可以再次加載進行使用。
- Redis不僅僅支持簡單的key-value類型的數(shù)據(jù),同時還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲。
- Redis支持數(shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。
五種用途:
1.全頁面緩存
整頁緩存。如果你正在使用服務(wù)器端呈現(xiàn)的內(nèi)容,則不需要為每個單獨的請求重新渲染每個頁面。使用如Redis這樣的緩存,你可以緩存經(jīng)常請求的內(nèi)容,從而大大減少請求最多的頁面的延遲,并且大多數(shù)框架針對Redis緩存頁面都有hooks。
// 設(shè)置全頁面緩存1分鐘 SET key "..." EX 60 // 獲取全頁面 GET key
2.順序排列
由于Redis在內(nèi)存中Set數(shù)據(jù)結(jié)構(gòu)可以非??焖俸透咝нM行遞增和遞減,性能遠遠高于SQL查詢。比較這與Redis的排序集相結(jié)合意味著你可以以毫秒為單位抓取列表中評分最高的項目,而且實現(xiàn)起來非常容易。
// 向排序集合中添加值 ZADD sortedSet 1 "one" // 從排序集合中獲取所有值 ZRANGE sortedSet 0 -1 // 從排序集合中獲取所有值與權(quán)重 ZRANGE sortedSet 0 -1 WITHSCORES
3.會話Session存儲
我所見的Redis最常見的用途是會話存儲。與其他會話存儲(如Memcache)不同,Redis可以保留數(shù)據(jù),以便在緩存停止的情況下,在重新啟動時,所有數(shù)據(jù)仍然存在。即便不是需要嚴格持續(xù)的任務(wù),此功能仍可以為你的用戶省去大量的麻煩。沒有人會樂于見到他們的會話被無緣無故隨機刪掉。
// 設(shè)置一分鐘過期的session SET randomHash "{userId}" EX 60 // 獲取用戶ID GET randomHash
4.隊列
使用Redis可以做的一個不太常見,但非常有用的事情是排隊。無論是電子郵件隊列還是其他應(yīng)用程序使用的數(shù)據(jù),你都可以在Redis中創(chuàng)建一個高效的隊列。任何熟悉堆棧以及會push和pop項目的開發(fā)人員都可以輕松自然地使用此功能。
// 添加消息 HSET messagesZADD due // 接收消息 ZRANGEBYSCORE due -inf LIMIT 0 1 HGET messages // 刪除消息 ZREM due HDEL messages
5.pub/sub
Redis在真實世界的最終用法即我將在這篇文章中提出的pub / sub。這是Redis內(nèi)置的最強大的功能之一;得到的可能是無限的。你可以創(chuàng)建一個實時聊天系統(tǒng),在社交網(wǎng)絡(luò)上觸發(fā)好友請求的通知等等。這個功能是Redis提供的最被低估的功能之一,但功能非常強大,而且使用簡單。
// 向通道中推送消息 PUBLISH channel message // 從通道中獲取消息 SUBSCRIBE channel
看完上述內(nèi)容,你們對redis作用有哪五種有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,感謝大家的支持。