当前位置: 首页 > news >正文

怎么做同学录的网站小红书关键词排名怎么做

怎么做同学录的网站,小红书关键词排名怎么做,怎样进入wordpress,柳市哪里有做网站推广一、整体结构图 二、redisDb结构体 Redis是一个高性能的键值存储系统,它支持多种类型的数据结构,如字符串、列表、集合、散列等。Redis数据库由多个数据库组成,每个数据库用一个redisDb结构体来表示。 dict *dict; dict指向一个字典结构的指…

一、整体结构图

二、redisDb结构体

        Redis是一个高性能的键值存储系统,它支持多种类型的数据结构,如字符串、列表、集合、散列等。Redis数据库由多个数据库组成,每个数据库用一个redisDb结构体来表示。

  • dict *dict;

dict指向一个字典结构的指针,字典内部是存储Redis数据库中所有的键值对。键是字符串,值是Redis中的对象类型。字典内部是使用哈希表来实现,这使得 Redis 能够提供高效的查找性能,时间复杂度接近 O(1)。

  • dict *expires;

这个字段同样也是字典结构,存储了键的过期时间。当键被设置了一个过期时间后,这个字典会记录键和它的过期时间。这样,Redis可以自动地删除过期的键。

  • dict *blocking_keys;

这个字段用于记录那些因为某些操作(如列表的BLPOP或BRPOP命令)而阻塞的键和相应的客户端。当有新数据可用时,这些客户端会被唤醒。

  • dict *ready_keys;

这个字段与blocking_keys相对应,它记录了那些已经准备好可以解除阻塞状态的键和相应的客户端。当一个阻塞操作的条件满足时,客户端会从blocking_keys转移到ready_keys。

  • dict *watched_keys;

这个字段记录了被WATCH命令监控的键和相应的客户端。WATCH命令是事务的一部分,用于在事务执行前监控键,如果这些键在MULTI和EXEC之间被修改,事务将不会执行。

  • int id;

这个字段是一个整数,用于唯一标识每个数据库。Redis默认有16个数据库,每个数据库都有一个从0到15的ID。

  • long long avg_ttl;

这个字段记录了数据库中所有键的平均生存时间(Time To Live,TTL)。TTL是一个键在被自动删除前可以存活的时间。avg_ttl可以帮助了解数据的存活周期。

三、dict结构体

        dictEntry 是 Redis 中字典(dict)数据结构的一部分,用于存储键值对。dictEntry 实例会被插入到一个哈希表中。哈希表由数组和链表组成,数组中的每个槽位可以指向一个 dictEntry 或者一个链表的头结点,如果多个键的哈希值映射到同一个槽位,则它们会形成一个链表。字典在 Redis 中扮演着重要角色,它不仅用于存储数据库中的键值对,还用于存储过期时间、阻塞键、监视键等信息。dictEntry 的内部结构如下:

typedef struct dictEntry {void *key;    // 键的指针union {void *val;   // 值的指针uint64_t u64; // 用于存储64位整数的值double d;    // 用于存储浮点数的值} v;struct dictEntry *next; // 指向哈希表中下一个条目的指针,用于解决哈希冲突
} dictEntry;
  • void *key

        这是指向键的指针。在 Redis 中,键通常是字符串,但这里使用 void * 类型是为了保持泛用性,允许键可以是任何类型的数据。

  • union { ... } v:

        这是一个联合体,用于存储值。由于Redis支持多种数据类型,联合体提供了一种方式来存储不同类型的值:

        void *val;:如果值是一个指针类型,比如指向一个更复杂的数据结构,那么可以使用这个字段。

        uint64_t u64;:如果值是一个64位的整数,可以使用这个字段来直接存储整数值。

        double d;:如果值是一个浮点数,可以使用这个字段来存储浮点数值。

  • unsigned long next

        这是指向链表中下一个 dictEntry 的指针。在 Redis 字典的哈希表中,如果两个键的哈希值相同,它们会被链接在同一链表中,next 就是用来维护这种链表结构的。

  • unsigned long hash

        这是一个无符号长整型变量,存储了键的哈希值。哈希值用于快速定位键在字典中的位置,从而加速键的查找过程。

  • unsigned long prev

        在较新版本的 Redis 中,dictEntry 还包含了一个 prev 成员,它是指向链表中前一个 dictEntry 的指针。这使得字典能够更高效地遍历链表,以及在删除元素时更容易找到前一个元素。

四、redisObject结构体

        redisObject是Redis中用于表示各种数据类型的基础结构体。在 Redis 内部,每当你存储一个键值对时,值部分实际上是一个 redisObject 的实例,它封装了数据本身以及关于数据的一些元信息。Redis支持多种数据类型,如字符串、列表、集合、有序集合、散列等。每种数据类型都可以通过redisObject进行抽象和统一管理。以下是redisObject的基本结构和相关说明:

typedef struct redisObject {unsigned type:4;       // 对象类型,4位用于存储类型信息unsigned encoding:4;    // 对象编码,4位用于存储编码信息unsigned lru:LRU_BITS;  // 访问时间戳,用于LRU淘汰算法int refcount;           // 对象的引用计数void *ptr;              // 指向实际数据的指针
} robj;
  • unsigned type

这个成员变量表示对象的类型。在 Redis 中,数据可以是字符串(REDIS_STRING)、列表(REDIS_LIST)、集合(REDIS_SET)、有序集合(REDIS_ZSET)、哈希表(REDIS_HASH)、流(REDIS_STREAM)等类型之一。

  • unsigned encoding

这个变量表示对象的编码方式,即数据如何在内存中存储。不同的编码方式可以节省内存或者提高读写速度。例如,字符串可以是普通的编码(REDIS_ENCODING_RAW),也可以是压缩后的编码(REDIS_ENCODING_EMBSTR 或REDIS_ENCODING_LZF)。列表可以是双向链表(REDIS_ENCODING_LINKEDLIST),也可以是压缩列表(REDIS_ENCODING_ZIPLIST)。

  • unsigned lru:LRU_BITS:

这是一个用于存储对象最近访问时间戳的字段。Redis使用这个字段来实现LRU(最近最少使用)淘汰算法,从而在内存不足时淘汰一些不常用的键。

  • void *ptr

这是指向实际数据的指针。对于字符串来说,这可能是一个指向字符串的指针;对于列表、集合等复合数据类型,这可能是指向数据结构(如链表、跳跃表)的指针。

  • int refcount

这是引用计数,用于跟踪有多少地方引用了这个对象。在 Redis 中,对象可以被共享,引用计数机制帮助 Redis 管理内存,当引用计数降到零时,对象会被销毁。

  • int free

这个成员在某些 Redis 版本中存在,用于在对象被销毁时预留一些空间,以便下次创建类似大小的对象时减少内存分配的开销。

http://www.hengruixuexiao.com/news/13746.html

相关文章:

  • 全国建设项目公示平台爱采购seo
  • 长沙做网站网站快速被百度收录
  • 百度网站入口黑科技引流工具
  • 焦作企业网站建设seo推广一个月见效
  • 一些常用的网站上海网站搜索引擎优化
  • 如何创建网站平台推广公众号的9种方法
  • 北京公司网站开发搜索引擎排名优化方案
  • 自然景观网站模板专业代写文案的公司
  • 上饶建站公司中国四大软件外包公司
  • 沈阳网站建设bwspire如何推广自己的产品
  • 学软件开发好还是网站开发好外贸如何推广
  • wordpress网站首页推广下载app拿佣金
  • 四川铁科建设监理有限公司官方网站百度竞价推广方法
  • dw怎么做网站的导航栏网球排名即时最新排名
  • 必须重视的问题之一南宁seo怎么做优化团队
  • 免费的网站域名查询方法有哪些网站怎么做到秒收录
  • 建设网站天下百度电商广告代运营
  • 医疗网站建设基本流程图关键词分为哪几类
  • 合肥做公司网站百度一下搜索引擎大全
  • 网站建设哪里好酒店seo是什么意思
  • 做国际网站花钱吗seo外链要做些什么
  • 河南国基建设集团--官方网站无锡谷歌推广
  • 外贸网络营销如何做seo外链代发
  • 扫二维码直接进入网站怎么做点石关键词排名优化软件
  • 顺的网站建设案例东莞seo优化推广
  • 怎样做自己的网站钻钱解释seo网站推广
  • 政府门户网站建设对策建议哈尔滨seo关键词优化
  • 整站优化快速排名安卓手机性能优化软件
  • 日照社保网站开发中什么意思制作免费个人网站
  • wordpress新增站点seo百度seo排名优化软件