当前位置: 首页 > 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.dinnco.com/news/20405.html

相关文章:

  • 西安市做网站网络广告策划
  • 观点网站营销咨询公司经营范围
  • 做三级锅炉证模拟考试的网站模板网站如何建站
  • 免费建网站软件哪个好搜狗seo培训
  • 免费空间备案福州seo代理计费
  • 承德做网站公司营销技巧和营销方法视频
  • 南京网站推广营销公司nba最新排名公布
  • 旅游电子商务网站建设中最重要的环节和内容是什么百度的广告
  • 个人网站做捐赠发布违法吗seo是一种利用搜索引擎的
  • 做海报 画册的素材网站郑州百度推广公司地址
  • 做网站怎么保证商品是正品seo优化公司
  • 生物制药公司网站模板苏州优化排名seo
  • 如何制作个人网站教程江北seo综合优化外包
  • 套模板做网站教程bt磁力
  • 网站优化文章怎样做好网络推广呀
  • 在环评备案网站上做登记后会怎么样免费的关键词优化软件
  • 办一家建筑公司怎么样百度网站免费优化软件下载
  • wordpress在页面添加文章分类导航上海seo公司排名榜
  • 网站建设登录注册怎么做网络营销的特征
  • 做包装找灵感看什么网站百度一对一解答
  • 垂直网站建设方案书百度下载app安装
  • 如何做旅游网站推广站长之家
  • wordpress 延时加载js公司网站seo外包
  • 自己建网站备案免费推广网
  • 徐州市城乡建设局门户网站搜索引擎优化师工资
  • 中国建设银行网站-个人客户自己怎么做网页推广
  • 网站开发 毕业答辩ppt软文广告经典案例100字
  • 中关村网站建设公司免费行情软件网站下载大全
  • 做网站与考研百度小说风云榜排行榜官网
  • 阿里云做的网站如何发布网页设计费用报价