引言
本次對上一次的資料結構知識進行補充,主要有redis資料結構的相關應用場景和記憶體相關知識
參考計數-記憶體
redis中的物件回識訓制是采用參考計數的方式,首先我們可以通過redis物件結構體代碼可知
/*
* Redis 物件
*/
typedef struct redisObject {
...
// 參考計數
int refcount;
...
} robj;

上面表格是和參考計數欄位相關的api
參考計數-共享
我們知道參考計數可以實作物件記憶體什么時候銷毀,那么參考計數也可以用來物件共享
比如此時有一個物件A,值為10,新建了一個物件B,值和型別都與A一樣,則可以讓他們指向同一個地址,然后參考計數+1
注意:redis初始化時候,會自動創建10000個字串物件,包括0-9999這10000個整數,當服務器要用到這些數字的字串物件時候,redis就不需要重新創建,(可以修改redis.h/REDIS_SHARED_INTEGERS進行修改)
redis> set A 100
OKredis> OBJECT REFCOUNT A
(integer) 2
應用場景
redis由于有多種資料結構,每種資料結構都有著不同的api和對應的時間復雜度,因此在實際作業或者專案開發中,應該面對不同場景選擇不同的redis資料結構,因為自己在位元組作業,會常常使用redis,下面根據自己平時的一些總結進行闡述,這個部分會持續更新
自己的網址:www.shicoder.top
歡迎加群聊天 452380935
本文由博客一文多發平臺 OpenWrite 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/459541.html
標籤:其他
