當資料為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 不共享包含字串的物件?當伺服器考慮將乙個共享物件設定為鍵的值物件時,程式需要先檢查給定的共享物...