共計 1585 個字符,預(yù)計需要花費 4 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
本篇文章和大家了解一下 redis 的用途和常用的數(shù)據(jù)類型介紹。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
首先我們來簡單介紹下 redis。
Redis 是一個高性能的 key-value 數(shù)據(jù)庫。Redis 與其他 key – value 緩存產(chǎn)品有以下三個特點:
1、Redis 支持?jǐn)?shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時候可以再次加載進(jìn)行使用。
2、Redis 不僅僅支持簡單的 key-value 類型的數(shù)據(jù),同時還提供 list,set,zset,hash 等數(shù)據(jù)結(jié)構(gòu)的存儲。
3、Redis 支持?jǐn)?shù)據(jù)的備份,即 master-slave 模式的數(shù)據(jù)備份。
五種用途
1、全頁面緩存
整頁緩存。如果你正在使用服務(wù)器端呈現(xiàn)的內(nèi)容,則不需要為每個單獨的請求重新渲染每個頁面。使用如 Redis 這樣的緩存,你可以緩存經(jīng)常請求的內(nèi)容,從而大大減少請求最多的頁面的延遲,并且大多數(shù)框架針對 Redis 緩存頁面都有 hooks。
// 設(shè)置全頁面緩存 1 分鐘
SET key html ... /html EX 60
// 獲取全頁面
GET key
2、順序排列
由于 Redis 在內(nèi)存中 Set 數(shù)據(jù)結(jié)構(gòu)可以非常快速和高效進(jìn)行遞增和遞減,性能遠(yuǎn)遠(yuǎn)高于 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ù)仍然存在。即便不是需要嚴(yán)格持續(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 messages id message
ZADD due due_timestamp id
// 接收消息
ZRANGEBYSCORE due -inf current_timestamp LIMIT 0 1
HGET messages message_id
// 刪除消息
ZREM due message_id
HDEL messages message_id
5、pub/sub
Redis 在真實世界的最終用法即我將在這篇文章中提出的 pub / sub。這是 Redis 內(nèi)置的最強大的功能之一;得到的可能是無限的。你可以創(chuàng)建一個實時聊天系統(tǒng),在社交網(wǎng)絡(luò)上觸發(fā)好友請求的通知等等。這個功能是 Redis 提供的最被低估的功能之一,但功能非常強大,而且使用簡單。
// 向通道中推送消息
PUBLISH channel message
// 從通道中獲取消息
SUBSCRIBE channel
結(jié)論:
我希望你會喜歡這些 Redis 在真實世界的使用。雖然這篇文章只抓住了 Redis 能為你做的事情的表面,但是我希望你能從中獲得應(yīng)如何充分利用 Redis 的啟發(fā)。
以上就是 redis 的用途和常用的數(shù)據(jù)類型介紹的簡略介紹,當(dāng)然詳細(xì)使用上面的不同還得要大家自己使用過才領(lǐng)會。如果想了解更多,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道哦!
向 AI 問一下細(xì)節(jié)