Redis的應(yīng)用場(chǎng)景是什么-創(chuàng)新互聯(lián)

小編給大家分享一下Redis的應(yīng)用場(chǎng)景是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、環(huán)縣ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的環(huán)縣網(wǎng)站制作公司

一丶Redis介紹

Redis是一個(gè)開(kāi)源的 key—value型 單線程 數(shù)據(jù)庫(kù),支持string、list、set、zset和hash類型數(shù)據(jù)。

默認(rèn)端口:6379

默認(rèn)數(shù)據(jù)庫(kù)數(shù)量:16

二、優(yōu)點(diǎn):

1.nosql數(shù)據(jù)庫(kù)沒(méi)有關(guān)聯(lián)關(guān)系,數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單,拓展表比較容易

2.nosql讀取速度快,對(duì)較大數(shù)據(jù)處理快

三、適用場(chǎng)景:

1.數(shù)據(jù)高并發(fā)的讀寫(xiě)

2.海量數(shù)據(jù)的讀寫(xiě)

對(duì)擴(kuò)展性要求高的數(shù)據(jù)

四、不適場(chǎng)景:

1.需要事務(wù)支持(非關(guān)系型數(shù)據(jù)庫(kù))

2.基于sql結(jié)構(gòu)化查詢儲(chǔ)存,關(guān)系復(fù)雜

五、應(yīng)用場(chǎng)景

下面這些作者是Redis作者@antirez,他描述了Redis比較適合的一些應(yīng)用場(chǎng)景,NoSQLFan簡(jiǎn)單列舉在這里,供大家一覽:

1.取最新N個(gè)數(shù)據(jù)的操作

比如典型的取你網(wǎng)站的最新文章,通過(guò)下面方式,我們可以將最新的5000條評(píng)論的ID放在Redis的List集合中,并將超出集合部分從數(shù)據(jù)庫(kù)獲取

  • 使用LPUSH latest.comments<ID>命令,向list集合中插入數(shù)據(jù)

  • 插入完成后再用LTRIM latest.comments 0 5000命令使其永遠(yuǎn)只保存最近5000個(gè)ID

  • 然后我們?cè)诳蛻舳双@取某一頁(yè)評(píng)論時(shí)可以用下面的邏輯(偽代碼)

FUNCTION get_latest_comments(start,num_items):
    id_list = redis.lrange("latest.comments",start,start+num_items-1)
    IF id_list.length < num_items
        id_list = SQL_DB("SELECT ... ORDER BY time LIMIT ...")
    END
    RETURN id_list
END

如果你還有不同的篩選維度,比如某個(gè)分類的最新N條,那么你可以再建一個(gè)按此分類的List,只存ID的話,Redis是非常高效的。

2.排行榜應(yīng)用,取TOP N操作

這個(gè)需求與上面需求的不同之處在于,前面操作以時(shí)間為權(quán)重,這個(gè)是以某個(gè)條件為權(quán)重,比如按頂?shù)拇螖?shù)排序,這時(shí)候就需要我們的sorted set出馬了,將你要排序的值設(shè)置成sorted set的score,將具體的數(shù)據(jù)設(shè)置成相應(yīng)的value,每次只需要執(zhí)行一條ZADD命令即可。

3.需要精準(zhǔn)設(shè)定過(guò)期時(shí)間的應(yīng)用

比如你可以把上面說(shuō)到的sorted set的score值設(shè)置成過(guò)期時(shí)間的時(shí)間戳,那么就可以簡(jiǎn)單地通過(guò)過(guò)期時(shí)間排序,定時(shí)清除過(guò)期數(shù)據(jù)了,不僅是清除Redis中的過(guò)期數(shù)據(jù),你完全可以把Redis里這個(gè)過(guò)期時(shí)間當(dāng)成是對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的索引,用Redis來(lái)找出哪些數(shù)據(jù)需要過(guò)期刪除,然后再精準(zhǔn)地從數(shù)據(jù)庫(kù)中刪除相應(yīng)的記錄。

4.計(jì)數(shù)器應(yīng)用

Redis的命令都是原子性的,你可以輕松地利用INCR,DECR命令來(lái)構(gòu)建計(jì)數(shù)器系統(tǒng)。

5.Uniq操作,獲取某段時(shí)間所有數(shù)據(jù)排重值

這個(gè)使用Redis的set數(shù)據(jù)結(jié)構(gòu)最合適了,只需要不斷地將數(shù)據(jù)往set中扔就行了,set意為集合,所以會(huì)自動(dòng)排重。

6.實(shí)時(shí)系統(tǒng),反垃圾系統(tǒng)

通過(guò)上面說(shuō)到的set功能,你可以知道一個(gè)終端用戶是否進(jìn)行了某個(gè)操作,可以找到其操作的集合并進(jìn)行分析統(tǒng)計(jì)對(duì)比等。沒(méi)有做不到,只有想不到。

7.Pub/Sub構(gòu)建實(shí)時(shí)消息系統(tǒng)

Redis的Pub/Sub系統(tǒng)可以構(gòu)建實(shí)時(shí)的消息系統(tǒng),比如很多用Pub/Sub構(gòu)建的實(shí)時(shí)聊天系統(tǒng)的例子。

8.構(gòu)建隊(duì)列系統(tǒng)

使用list可以構(gòu)建隊(duì)列系統(tǒng),使用sorted set甚至可以構(gòu)建有優(yōu)先級(jí)的隊(duì)列系統(tǒng)。

以上是“Redis的應(yīng)用場(chǎng)景是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文名稱:Redis的應(yīng)用場(chǎng)景是什么-創(chuàng)新互聯(lián)
文章分享:http://bm7419.com/article24/didice.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版App設(shè)計(jì)、網(wǎng)站制作做網(wǎng)站、定制開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管