最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

你對Redis有多了解?

2021-03-05 17:32 作者:自學(xué)Python的小姐姐呀  | 我要投稿

不知你大規(guī)模的用過Redis嗎?還是僅僅作為緩存的工具了?

在Redis中使用最多的就是集合了,舉個例子,如下場景:


1.簽到系統(tǒng)中,一天對應(yīng)一系列的用戶簽到記錄。

2.電商系統(tǒng)中,一個商品對應(yīng)一系列的評論。

3.交友系統(tǒng)中,某個用戶的一系列的好友。


Redis中集合的特點無非是一個Key對應(yīng)一系列的數(shù)據(jù), 但是數(shù)據(jù)的作用往往是為了統(tǒng)計的,比如:


1.交友系統(tǒng)中,需要統(tǒng)計每天的新增好友,以及雙方的共同好友。

2.電商系統(tǒng)中,需要統(tǒng)計評論列表中的最新評論。

3.簽到系統(tǒng)中,需要統(tǒng)計連續(xù)一個月的簽到的用戶數(shù)量。


大型互聯(lián)網(wǎng)應(yīng)用中,數(shù)據(jù)量是巨大的,少說百萬,千萬,甚至是一個億,比如電商巨頭淘寶,交友巨頭微信、微博;辦公巨頭釘釘?shù)龋囊粋€的用戶不是上億?


只有針對不同場景,選擇合適的集合,統(tǒng)計才能更方便。

【redis是什么】


redis是一個開源的、使用C語言編寫的、支持網(wǎng)絡(luò)交互的、可基于內(nèi)存也可持久化的Key-Value數(shù)據(jù)庫。

redis的官網(wǎng)地址,非常好記,是redis.io。(特意查了一下,域名后綴io屬于國家域名,是british Indian Ocean territory,即英屬印度洋領(lǐng)地)

目前,Vmware在自助者redis項目的開發(fā)和維護。


開門見山,先看照片:

是不是出乎了你的意料,嗯,高手總會有些地方與眾不同的。

這位便是redis的作者,他叫Salvatore Sanfilippo,來自意大利的西西里島,現(xiàn)在居住在卡塔尼亞。目前供職于Pivotal公司。

他使用的網(wǎng)名是antirez,如果你有興趣,可以去他的博客逛逛,地址是antirez.com,當(dāng)人也可以去follow他的github,地址是 http://github.com/antirez。



Redis是一種基于鍵值對的NoSQL數(shù)據(jù)庫,它的值主要由string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)五種基本數(shù)據(jù)結(jié)構(gòu)構(gòu)成,除此之外還支持一些其他的數(shù)據(jù)結(jié)構(gòu)和算法。key都是由字符串構(gòu)成的,那么這五種數(shù)據(jù)結(jié)構(gòu)的使用場景有哪些?一起來看看!


字符串類型是Redis最基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),字符串類型可以是JSON、XML甚至是二進制的圖片等數(shù)據(jù),但是最大值不能超過512MB。

1.1 內(nèi)部編碼

Redis會根據(jù)當(dāng)前值的類型和長度決定使用哪種內(nèi)部編碼來實現(xiàn)。

字符串類型的內(nèi)部編碼有3種:

1.int:8個字節(jié)的長整型。

2.embstr:小于等于39個字節(jié)的字符串。

3.raw:大于39個字節(jié)的字符串。

1.2 使用場景

1.2.1 緩存

在web服務(wù)中,使用MySQL作為數(shù)據(jù)庫,Redis作為緩存。由于Redis具有支撐高并發(fā)的特性,通常能起到加速讀寫和降低后端壓力的作用。web端的大多數(shù)請求都是從Redis中獲取的數(shù)據(jù),如果Redis中沒有需要的數(shù)據(jù),則會從MySQL中去獲取,并將獲取到的數(shù)據(jù)寫入redis。

1.2.2 計數(shù)

Redis中有一個字符串相關(guān)的命令incr key,incr命令對值做自增操作,返回結(jié)果分為以下三種情況:

值不是整數(shù),返回錯誤

值是整數(shù),返回自增后的結(jié)果

key不存在,默認(rèn)鍵為0,返回1

比如文章的閱讀量,視頻的播放量等等都會使用redis來計數(shù),每播放一次,對應(yīng)的播放量就會加1,同時將這些數(shù)據(jù)異步存儲到數(shù)據(jù)庫中達到持久化的目的。

1.2.3 共享Session

在分布式系統(tǒng)中,用戶的每次請求會訪問到不同的服務(wù)器,這就會導(dǎo)致session不同步的問題,假如一個用來獲取用戶信息的請求落在A服務(wù)器上,獲取到用戶信息后存入session。下一個請求落在B服務(wù)器上,想要從session中獲取用戶信息就不能正常獲取了,因為用戶信息的session在服務(wù)器A上,為了解決這個問題,使用redis集中管理這些session,將session存入redis,使用的時候直接從redis中獲取就可以了。

1.2.4 限速

為了安全考慮,有些網(wǎng)站會對IP進行限制,限制同一IP在一定時間內(nèi)訪問次數(shù)不能超過n次。


綜上所述就是Redis部分知識點,

什么?怎么樣才能知道更多的Redis的知識?

看視頻啊~視頻中有你想知道的


你對Redis有多了解?的評論 (共 條)

分享到微博請遵守國家法律
安图县| 万山特区| 张家川| 章丘市| 九龙县| 志丹县| 徐汇区| 伊宁县| 沙坪坝区| 疏勒县| 昔阳县| 富蕴县| 汝南县| 交城县| 济宁市| 柯坪县| 铜山县| 武定县| 兰州市| 迁西县| 辽阳县| 临湘市| 凌云县| 博兴县| 福安市| 广东省| 永宁县| 石泉县| 马关县| 宣威市| 甘孜县| 宁晋县| 邵东县| 建湖县| 宁化县| 兖州市| 永善县| 嘉鱼县| 高阳县| 洮南市| 长治县|