- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > 編程語(yǔ)言 >
- Redis中如何提升訪(fǎng)問(wèn)速度
中如何提升訪(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í)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站