亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中redis的基本類型

 更新時間:2022年03月21日 09:08:12   作者:周杰倫本人  
這篇文章主要介紹了Java中redis的基本類型,redis存儲數(shù)據(jù)的基本類型有:字符串類型、散列類型、列表類型、集合類型、有序集合類型,下面我們對其中幾個進行簡單介紹,需要的小伙伴可以參考一下

redis存儲數(shù)據(jù)的基本類型有:string(字符串類型)、hash(散列類型)、list(列表類型)、set(集合類型)、zset(有序集合類型)。

redis中的每個對象都由一個redisObject結(jié)構(gòu)來表示:

/*
?* Redis 對象
?*/
typedef struct redisObject {

? ? // 類型
? ? unsigned type:4; ? ? ? ?

? ? // 不使用(對齊位)
? ? unsigned notused:2;

? ? // 編碼方式
? ? unsigned encoding:4;

? ? // LRU 時間(相對于 server.lruclock)
? ? unsigned lru:22;

? ? // 引用計數(shù)
? ? int refcount;

? ? // 指向?qū)ο蟮闹?
? ? void *ptr;

} robj;

和保存數(shù)據(jù)有關(guān)的三個屬性是type、encodingptr屬性。

對象類型分為下邊這幾個,我們是用type命令可以查看對象類型

/*
?* 對象類型
?*/
#define REDIS_STRING 0
#define REDIS_LIST 1
#define REDIS_SET 2
#define REDIS_ZSET 3
#define REDIS_HASH 4

對象的ptr指針指向?qū)ο蟮牡讓訉崿F(xiàn)數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)由對象的encoding屬性決定。

編碼類型

/*
?* 對象編碼
?*
?* 像 String 和 Hash 這樣的對象,可以有多種內(nèi)部表示。
?* 對象的 encoding 屬性可以設(shè)置為以下域的任意一種。
?*/
#define REDIS_ENCODING_RAW 0 ? ? /* Raw representation 簡單動態(tài)字符串*/
#define REDIS_ENCODING_INT 1 ? ? /* Encoded as integer long類型的整數(shù)*/
#define REDIS_ENCODING_HT 2 ? ? ?/* Encoded as hash table 字典*/
#define REDIS_ENCODING_ZIPMAP 3 ?/* Encoded as zipmap 壓縮字典*/
#define REDIS_ENCODING_LINKEDLIST 4 /* Encoded as regular linked list 雙端鏈表*/
#define REDIS_ENCODING_ZIPLIST 5 /* Encoded as ziplist 壓縮列表*/
#define REDIS_ENCODING_INTSET 6 ?/* Encoded as intset 整數(shù)集合*/
#define REDIS_ENCODING_SKIPLIST 7 ?/* Encoded as skiplist 跳躍表和字典*/
#define REDIS_ENCODING_EMBSTR 8 ?/* Embedded sds string encoding embstr編碼的簡單動態(tài)字符串*/

可以通過object encoding命令查看數(shù)據(jù)庫鍵的值對象的編碼

通過encoding屬性來設(shè)定對象所使用的編碼,而不是為特定類型的對象關(guān)聯(lián)一種固定的編碼,極大提升了redis的靈活性和效率,根據(jù)不同的使用場景來為對象設(shè)置不同的編碼

不同數(shù)據(jù)結(jié)構(gòu)的編碼方式:

到此這篇關(guān)于Java中redis的基本類型的文章就介紹到這了,更多相關(guān)redis類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論