亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Redis 在真實世界的 5 個用法

 更新時間:2018年03月07日 11:27:20   投稿:mrr  
Redis是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API這篇文章主要介紹了Redis 在真實世界的 5 個用法,需要的朋友可以參考下

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

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

1、全頁面緩存

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

簡單命令

/ 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增和遞減。將此與每個請求運行SQL查詢比較,性能收益巨大!這與Redis的排序集相結(jié)合意味著你可以以毫秒為單位抓取列表中評分最高的項目,而且實現(xià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、會話Session存儲

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

簡單命令

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

4、隊列

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

簡單命令

// 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在真實世界的最終用法即我將在這篇文章中提出的pub / sub。這是Redis內(nèi)置的最強大的功能之一;得到的可能是無限的。你可以創(chuàng)建一個實時聊天系統(tǒng),在社交網(wǎng)絡上觸發(fā)好友請求的通知等等。這個功能是Redis提供的最被低估的功能之一,但功能非常強大,而且使用簡單。

簡單命令

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

結(jié)論

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

相關文章

  • 詳解如何發(fā)現(xiàn)并解決Redis熱點Key問題

    詳解如何發(fā)現(xiàn)并解決Redis熱點Key問題

    Redis 熱點 Key 是指在某一時間段內(nèi),被大量的讀寫操作命中的 Key,這種情況可能會導致性能瓶頸,數(shù)據(jù)一致性問題,緩存擊穿等問題,所以本文給大家介紹了如何發(fā)現(xiàn)并解決Redis熱點Key問題,需要的朋友可以參考下
    2024-05-05
  • 在Mac OS上安裝Vagrant和Docker的教程

    在Mac OS上安裝Vagrant和Docker的教程

    這篇文章主要介紹了在Mac OS上安裝Vagrant和Docker的教程,并安裝和設置Postgres和Elasticsearch和Redis,需要的朋友可以參考下
    2015-04-04
  • 推薦一款神仙顏值的 Redis 客戶端工具(速收藏)

    推薦一款神仙顏值的 Redis 客戶端工具(速收藏)

    這篇文章主要給大家推薦一款神仙顏值的 Redis 客戶端工具(速收藏),非常好用的redis桌面管理工具,可以運行于Linux、Windows、Mac三大平臺,并且當加載大數(shù)量的key不會crash,感興趣的朋友跟隨小編一起看看吧
    2020-12-12
  • Redis分布式鎖方案設計之防止訂單重復提交或支付

    Redis分布式鎖方案設計之防止訂單重復提交或支付

    這篇文章主要為大家介紹了Redis分布式鎖之防止訂單重復提交或支付方案設計示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • springboot使用Redis作緩存使用入門教程

    springboot使用Redis作緩存使用入門教程

    這篇文章主要介紹了springboot使用Redis作緩存使用入門教程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • Redis簡單動態(tài)字符串SDS的實現(xiàn)示例

    Redis簡單動態(tài)字符串SDS的實現(xiàn)示例

    Redis沒有直接復用C語言的字符串,而是新建了SDS,本文主要介紹了Redis簡單動態(tài)字符串SDS的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • Redis Redisson lock和tryLock的原理分析

    Redis Redisson lock和tryLock的原理分析

    這篇文章主要介紹了Redis Redisson lock和tryLock的原理分析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Redis 數(shù)據(jù)遷移的項目實踐

    Redis 數(shù)據(jù)遷移的項目實踐

    本文主要介紹了Redis 數(shù)據(jù)遷移的項目實踐,通過Redis-shake的sync(同步)模式,可以將Redis的數(shù)據(jù)實時遷移至另一套Redis環(huán)境,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 淺談Redis哨兵模式的使用

    淺談Redis哨兵模式的使用

    這篇文章主要介紹了淺談Redis哨兵模式的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Redis集合類型的常用命令小結(jié)

    Redis集合類型的常用命令小結(jié)

    這篇文章給大家整理了在操作Redis集合類型中的常用命令,文章總結(jié)的很全面,對大家學習Redis具有一定的參考借鑒價值,下面來一起看看吧。
    2016-09-09

最新評論