redis 基本类型,java中redis是什么
redis存储数据的基本类型有:string(字符串类型)、hash(哈希类型)、list(列表类型)、set(集合类型)和zset(有序集合类型)。
redis中的每个对象都由一个redisObject结构来表示:
/* * Redis object */typedef struct Redis object {//type unsigned type :4;//不使用(对齐位)无符号notused:2//编码方法是unsigned encoding:4//LRU时间(相对于server.lruclock)无符号LRU:22//引用计数int refcount//指向对象的值void * ptr} robj与保存数据相关的三个属性是类型、编码和ptr属性。
对象分为以下类型。我们可以使用type命令来查看对象类型。
/* *对象类型*/# define redis _ string 0 # define redis _ list 1 # define redis _ set 2 # define redis _ zset 3 # define redis _ hash 4对象的ptr指针指向对象的底层实现数据结构,这是由对象的编码属性决定的。
编码类型:
/* *对象编码* *像String和Hash这样的对象可以有多个内部表示。*对象的编码属性可以设置为下列任何一个域。*/# define redis _ encoding _ raw 0/* raw presentation简单动态字符串*/# defineredis _ encoding _ int1/*编码为整数长类型整数*/# Defineredis _ encoding _ ht2/*编码为哈希表字典*/# define redis _ encoding _ zipmap 3/*编码为zip map压缩字典*/# define redis _ encoding _ linked list 4/*编码为常规链表双端列表*/# define redis _ encoding _ ziplist 5/*编码为zip list压缩列表*/# define redis _ zip Define redis _ encoding _ skiplist 7/*编码为skip list跳转表和字典*/# Define redis _ encoding _ embstr8/*嵌入式SDS字符串编码emb str 8编码的简单动态字符串*/可以通过object encoding命令查看数据库键的value对象的编码。
编码属性用于设置对象的编码,而不是为特定类型的对象关联一个固定的编码,大大提高了redis的灵活性和效率,并根据不同的使用场景为对象设置不同的编码。
不同数据结构的编码方式:
关于Java中redis的基本类型的文章到此结束。有关redis类型的更多信息,请搜索以前关于流行它的文章或继续浏览下面的相关文章。我希望你能在未来更多地支持它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。