国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Redis中如何提升訪(fǎng)問(wèn)速度

發(fā)布時(shí)間:2021-07-27 11:45 來(lái)源:億速云 閱讀:0 作者:Leah 欄目: 編程語(yǔ)言 歡迎投稿:712375056

中如何提升訪(fǎng)問(wèn)速度,針對這個(gè)問(wèn)題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

合理的數據編碼

Redis 使用對象(redisObject)來(lái)表示數據庫中的鍵值,當我們在 Redis 中創(chuàng )建一個(gè)鍵值對時(shí),至少創(chuàng )建兩個(gè)對象,一個(gè)對象是用做鍵值對的鍵對象,另一個(gè)是鍵值對的值對象。

typedef struct redisObject{    //類(lèi)型:包含字符串對象、列表對象、哈希對象、集合對象、有序集合對象。   unsigned type:4;   //編碼   unsigned encoding:4;   //指向底層數據結構的指針   void *ptr;    //... }robj;

編碼介紹:

1)String:存儲數字的話(huà),采用 int 類(lèi)型的編碼,如果是非數字的話(huà),采用 raw 編碼;

2)List:List 對象的編碼可以是 ziplist 或 linkedlist,字符串長(cháng)度 < 64 字節且元素個(gè)數 < 512 使用 ziplist 編碼,否則轉化為 linkedlist 編碼;

備注:這兩個(gè)條件是可以修改的,在 redis.conf 中:list-max-ziplist-entries 512list-max-ziplist-value 64

3)Hash:Hash 對象的編碼可以是 ziplist 或 hashtable。

當 Hash 對象同時(shí)滿(mǎn)足以下兩個(gè)條件時(shí),Hash 對象采用 ziplist 編碼,否則就是 hashtable 編碼。

1.Hash 對象保存的所有鍵值對的鍵和值的字符串長(cháng)度均小于 64 字節。2. Hash 對象保存的鍵值對數量小于 512 個(gè)。

4)Set:Set 對象的編碼可以是 intset 或 hashtable,intset 編碼的對象使用整數集合作為底層實(shí)現,把所有元素都保存在一個(gè)整數集合里面。

保存元素為整數且元素個(gè)數小于一定范圍使用 intset 編碼,任意條件不滿(mǎn)足,則使用 hashtable 編碼。

5)Zset:Zset 對象的編碼可以是 ziplist 或 zkiplist,當采用 ziplist 編碼存儲時(shí),每個(gè)集合元素使用兩個(gè)緊挨在一起的壓縮列表來(lái)存儲。

Ziplist 壓縮列表第一個(gè)節點(diǎn)存儲元素的成員,第二個(gè)節點(diǎn)存儲元素的分值,并且按分值大小從小到大有序排列。

當 Zset 對象同時(shí)滿(mǎn)足一下兩個(gè)條件時(shí),采用 ziplist 編碼,如果不滿(mǎn)足以上條件的任意一個(gè),ziplist 就會(huì )轉化為 zkiplist 編碼。

Zset 保存的元素個(gè)數小于 128。Zset 元素的成員長(cháng)度都小于 64 字節。
備注:這兩個(gè)條件是可以修改的,在 redis.conf 中:zset-max-ziplist-entries 128zset-max-ziplist-value 64

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

无码中文字幕乱在线观看| 侠女人妻跪趴高撅肥臀| 亚洲最大成人网色| 亚洲 欧美日韩 综合 国产| 中文无码人妻有码人妻中文字幕| 天堂资源在线WWW中文|