redis 共享物件池

2022-03-06 20:24:10 字數 452 閱讀 4600

當資料為0–9999的整數時 ,默使用物件池。

可以通過 object refcount 檢視物件引用數。

127.0.0.1:6379> set intx 5

ok127.0.0.1:6379> object refcount intx #直接使用共享物件池內的整數物件。引用數是2。否則為1。

(integer) 2

127.0.0.1:6379> set intxx 5  #引用數+1

ok127.0.0.1:6379> object refcount intx

(integer) 3

127.0.0.1:6379> object refcount intxx

(integer) 3

注意,當設定maxmemory並啟動lur相關淘汰策略,物件池無效,通過object refcount 檢視其引用數會是1

redis 共享物件池

當資料為0 9999的整數時 默使用物件池。可以通過 object refcount 檢視物件引用數。127.0.0.1 6379 set intx 5 ok127.0.0.1 6379 object refcount intx 直接使用共享物件池內的整數物件。引用數是2。否則為1。integer ...

共享池 LRU鏈

1 lru鏈 lru鏈存放了sql和sql執行計畫,如果共享池空間比較緊張,一些sql與執行計畫就會被釋放掉。只有recreate型別thunk才會被鏈結到lru鏈上,lru鏈上沒有freeable型別thunk。recreate與freeable型別thunk大都是子堆對應的thunk,子堆裡主要...

Redis 物件共享(整數型字串)

redis 會在初始化伺服器時,建立一萬個字串物件,這些物件包含了從0到9999的所有整數值,當伺服器需要用到值為0到9999的字串物件時,伺服器就會使用這些共享物件,而不是新建立物件。為什麼 redis 不共享包含字串的物件?當伺服器考慮將乙個共享物件設定為鍵的值物件時,程式需要先檢查給定的共享物...