11_Redis经典五大类型源码及底层实现

这篇具有很好参考价值的文章主要介绍了11_Redis经典五大类型源码及底层实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Redis经典五大类型源码及底层实现

一、Redis数据类型的底层数据结构

  1. SDS动态字符串
  2. 双向链表
  3. 压缩列表 zpilist
  4. 哈希表 hashtable
  5. 调表 skiplist
  6. 整数集合 intset
  7. 快速列表 quicklist
  8. 紧凑列表 listpack

二、Redis源码地址

Github:https://github.com/redis/redis

三、源码分析参考书

  1. Redis设计与实现
  2. Redis5设计与源码分析

四、Redis源码核心部分

4.1 源码分析思路

  1. 怎么看
    1. 外面考什么,看什么
    2. 分类

4.2 Redis基本的数据结构(骨架)

  1. 简单动态字符串 sds.c
  2. 整数集合 intset.c
  3. 压缩列表 ziplist.c
  4. 快速链表 quicklist.c
  5. listpack
  6. 字典 dict.c

4.3 Redsi数据库的实现

  1. 数据库底层实现 db.c
  2. 持久化 rdb.c和aof.c

4.4 Redis服务端和客户端实现

  1. 事件驱动ae.c和ae_epoll.c
  2. 网络连接anet.c和networking.c
  3. 服务端程序server.c
  4. 客户端程序redis-cli.c

4.5 其他

  1. 主从复制replication.c
  2. 哨兵sentinel.c
  3. 集群cluster.c
  4. 其他数据结构 hyperloglog.c、geo.c
  5. 其他功能 pub/sub、lua脚本

五、Redis的KV键值对到底是什么

redis是key-value存储系统:

  1. key一般都是String类型的字符串对象

  2. value类型则为redis对象(RedisObject)

    value可以是字符串对象,也可以是集合数据类型的对象,比如List、Hash、Set、Zset

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

六、五大数据结构底层C语言源码分析

Redis 6.0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZSzoTZ18-1692553049425)(/Users/coder/Library/Application Support/typora-user-images/image-20230319142919367.png)]

Redis 7.0

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

调表:

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存

11_Redis经典五大类型源码及底层实现,redis,redis,数据库,缓存文章来源地址https://www.toymoban.com/news/detail-668117.html

到了这里,关于11_Redis经典五大类型源码及底层实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Redis】五大数据类型

    💭Redis支持五种数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及zset(sorted set有序集合)。 Redis的String类型是一种最基本的数据类型,它是一个键值对的存储结构,其中键和值都是字符串类型。String类型的特点是快速存储和读取,适用于存储一些简单的数据,如字符

    2024年02月12日
    浏览(27)
  • Redis的五大数据类型

    概述:String是redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等 append命令:append key value,将value值追加到已存在的value值的后面,并追加操作之后的新value的长度。特殊的,当之前redis中没有该键值对存

    2024年02月05日
    浏览(56)
  • 【Redis高手修炼之路】②Redis的五大数据类型

    字符串是Redis最基础的数据类型: 字符串类型实际可以存储字符串、数字、二进制数据; Redis中的键都是字符串类型,值也支持字符串类型; 字符串类型的存储空间是有限的,最大可以存放512M的数据。 1.1.1 添加、查询、获取长度、字符串的追加 set key value 设置指定 key 的值 get

    2023年04月19日
    浏览(33)
  • 【Redis】五大数据类型(操作命令)

    🚩Redis 键(key) 这些是 Redis 数据库中的命令,用于对数据类型进行操作和管理。以下是每个命令的含义和用法: DEL:删除一个或多个键。 DUMP:将一个键的值转储到一个字符串中。 EXPIRE:设置键的过期时间。 EXPIREAT:在给定的时间戳之后为键设置过期时间。 KEYS:返回匹配给

    2024年02月13日
    浏览(55)
  • Redis五大数据类型以及相关操作

    keys * 查看当前库的所有键 exists key 判断某个键是否存在 type key 查看键的类型 del key 删除某个键 expire key seconds 为键值设置过期时间,单位秒 ttl key 查看还有多久过期,-1表示永不过期,-2表示已过期 dbsize 查看当前数据库中key的数量 flushdb 清空当前库 Flushall 通杀全部库 String类型

    2024年02月02日
    浏览(29)
  • redis五大类型分析--list(1)

    此篇为对redis五大数据类型中list的分析,希望能有所帮助 listTypePush函数 分析: 该函数将一个元素插入到指定的列表对象 \\\'subject\\\', 插入位置由 \\\'where\\\' 决定是在列表头部还是尾部插入,调用者不需要自己来增加 \\\'value\\\' 的 refcount,该函数会负责处理。 作用: 实现命令函数push

    2024年02月13日
    浏览(25)
  • redis五大类型分析--list(2)

    此篇为对redis五大数据类型中list的分析,希望能有所帮助  listTypeGet函数 分析: 利用createStringObject函数和createStringObjectFromLongLong函数,检查编码类型并获取元素的值 listTypeInsert函数 分析: 对entry的插入操作,在 entry 的位置前或后方插入元素 value  listTypeReplace函数 分析: 替

    2024年02月11日
    浏览(30)
  • Redis的五大数据类型及其使用场景

    redis是一个非常快速‎‎的非关系数据库‎‎解决方案。其简单的键值数据模型使 Redis 能够处理大型数据集,同时保持令人印象深刻的读写速度和可用性。‎redis提供了五种数据类型,分别是是:1、string(字符串);2、hash(哈希);3、list(列表);4、set(集合);5、sor

    2024年02月16日
    浏览(31)
  • 浅谈Redis的五大数据类型及其应用

            Redis是一种开源的内存数据结构存储系统,它支持多种数据类型,包括字符串String、列表list、集合、哈希表和有序集合。这些数据类型在Redis中有着广泛的应用场景,可以满足不同的业务需求。本文将介绍Redis的五大数据类型及其应用。 常用命令:     最常用:

    2024年02月06日
    浏览(34)
  • Redis五大基本数据类型及其使用场景

    Nosql = not only sql(不仅仅是SQL) 关系型数据库:列+行,同一个表下数据的结构是一样的。 非关系型数据库:数据存储没有固定的格式,并且可以进行横向扩展。 NoSQL泛指非关系型数据库,随着web2.0互联网的诞生,传统的关系型数据库很难对付web2.0大数据时代!尤其是超大规

    2024年02月12日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包