欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis 在真實(shí)世界的 5 個用法

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

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

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

1、全頁面緩存

首先是整頁緩存。如果你正在使用服務(wù)器端呈現(xiàn)的內(nèi)容,則不需要為每個單獨(dú)的請求重新渲染每個頁面。使用如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增和遞減。將此與每個請求運(yùn)行SQL查詢比較,性能收益巨大!這與Redis的排序集相結(jié)合意味著你可以以毫秒為單位抓取列表中評分最高的項(xiàng)目,而且實(shí)現(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ù)仍然存在。即便不是需要嚴(yán)格持續(xù)的任務(wù),此功能仍可以為你的用戶省去大量的麻煩。沒有人會樂于見到他們的會話被無緣無故隨機(jī)刪掉。

簡單命令

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

4、隊(duì)列

使用Redis可以做的一個不太常見,但非常有用的事情是排隊(duì)。無論是電子郵件隊(duì)列還是其他應(yīng)用程序使用的數(shù)據(jù),你都可以在Redis中創(chuàng)建一個高效的隊(duì)列。任何熟悉堆棧以及會push和pop項(xiàng)目的開發(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在真實(shí)世界的最終用法即我將在這篇文章中提出的pub / sub。這是Redis內(nèi)置的最強(qiáng)大的功能之一;得到的可能是無限的。你可以創(chuàng)建一個實(shí)時聊天系統(tǒng),在社交網(wǎng)絡(luò)上觸發(fā)好友請求的通知等等。這個功能是Redis提供的最被低估的功能之一,但功能非常強(qiáng)大,而且使用簡單。

簡單命令

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

結(jié)論

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

相關(guān)文章

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

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

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

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

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

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

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

    Redis分布式鎖方案設(shè)計(jì)之防止訂單重復(fù)提交或支付

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

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

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

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

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

    Redis Redisson lock和tryLock的原理分析

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

    Redis 數(shù)據(jù)遷移的項(xiàng)目實(shí)踐

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

    淺談Redis哨兵模式的使用

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

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

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

最新評論