Redis 4 0 10 中文文件(記憶體優化)

2021-09-13 15:24:33 字數 863 閱讀 4486

由於redis 2.2,許多資料型別都經過了優化,以便在一定的大小下使用更少的空間。hash,list,由整數組成的set,和有序set,當小於給定數量的元素時,並且達到最大的元素大小,以一種非常節省記憶體的方式進行編碼,使用的記憶體要少10倍(平均節省記憶體5倍)。

從使用者和api的角度來看,這是完全透明的,由於這是cpu/記憶體的權衡,因此可以使用以下redis.conf指令調優特殊編碼型別的最大元素數量和最大元素大小。

hash-max-zipmap-entries 512 (hash-max-ziplist-entries for redis >= 2.6)

hash-max-zipmap-value 64 (hash-max-ziplist-value for redis >= 2.6)

list-max-ziplist-entries 512

list-max-ziplist-value 64

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

set-max-intset-entries 512

如果乙個特殊編碼的值將溢位配置的最大大小,redis將自動將其轉換為普通編碼,對於小的值,這個操作非常快,但是如果你更改了設定,以便為更大的聚合型別使用特殊編碼的值,那麼建議執行一些基準測試來檢查轉換時間。

使用32位例項

redis用32位目標編譯,每個鍵使用的記憶體少得多,由於指標很小,但是這樣的例項將被限制為最大記憶體使用量為4gb。要編譯redis,需要使用32位二進位制**,rdb和aof檔案可以相容32位和64位例項(當然也可以相容小的和大的endian),因此你可以從32位切換到64位,或者相反,沒有問題。

位和位元組級操作

Redis 4 0 10 文件(分布式鎖)

在許多環境中,分布式鎖是一種非常有用的原語,其中不同的程序必須以互斥的方式與共享資源一起執行。有許多庫和部落格文章描述了如何使用redis實現dlm 分布式鎖管理器 但是每個庫都使用不同的方法,而且許多庫使用的是一種簡單的方法,與稍微複雜的設計相比,可以獲得較低的保障。此頁面試圖提供一種更典型的演算...

AspEmail 5 0 中文文件

文件已經更新。目錄如下 第一章 概述 介紹aspemail 的一般特性,系統要求和安裝過程 第二章 入門 介紹傳送簡單文字和 html 超文字格式電子郵件 第三章 附件 介紹如何傳送帶附件的電子郵件。同時也介紹了 aspupload 與aspemail 聯合使用的方法 第四章 內嵌影象 介紹如何在傳...

Julia 1 0 中文文件

歡迎來到julia 1.0的文件。請閱讀發布部落格文章,了解該語言的一般概述以及自julia v0.6以來的許多更改。請注意,0.7版本與1.0一起發布,以提供1.0版本之前的軟體包和 的公升級路徑。0.7和1.0之間的唯一區別是刪除了棄用警告。有關自0.6以來的所有更改的完整列表,請參閱版本0.7...