随笔分类 -  redis

摘要:Redis基础知识 一.基础篇 1.什么是redis?有哪些基础数据结构? redis是是一个使用 C 语言 编写的,开源的 (BSD许可) 高性能 非关系型 (NoSQL) 的 键值对数据库。 Redis 可以存储 键 和 不同类型数据结构值 之间的映射关系。键的类型只能是字符串,而值除了支持最 阅读全文
posted @ 2022-02-21 16:38 西*风 阅读(189) 评论(1) 推荐(0) 编辑
摘要:本文内容: 1.Redis服务器保存数据库的方法 2.客户端切换数据库的方法 3.数据库保存键值对的方法 4.数据库的添加,删除,查看,更新操作的实现方法 5.服务器保存键的过期时间的方法 6.服务器自动删除过期键的方法 7.服务器的复制模式 8.数据库通知功能的实现方法 1.服务器中的数据库 1. 阅读全文
posted @ 2019-08-19 21:11 西*风 阅读(734) 评论(0) 推荐(0) 编辑
摘要:要想了解redis底层的内存管理是如何进行的,直接看源码绝对是一个很好的选择 下面是我添加了详细注释的源码,需要注意的是,为了便于源码分析,我把redis为了弥补平台差异的那部分代码删了,只需要知道有这个东西便好 下面我会贴上两份源码:一份是我自己的,有删减添加了注释的,一部分是原生的,可以做个参考 阅读全文
posted @ 2019-08-15 18:38 西*风 阅读(445) 评论(0) 推荐(0) 编辑
摘要:背景知识: Redis并没有直接使用sds,双端链表,字典,压缩列表,跳表等这些数据结构来直接实现键值对数据库,而是基于这些对象创建了一个对象系统,这个对象系统包含5个对象:字符串对象,列表对象,哈希对象,集合对象和有序集合对象,字符串对象是唯一会被其他四种对象嵌套的对象 1.我们可以针对不同的使用 阅读全文
posted @ 2019-07-28 13:40 西*风 阅读(410) 评论(0) 推荐(0) 编辑
摘要:一.压缩列表ziplist在redis中的应用 1.做列表键 当一个列表键只包含少量列表项,并且每个列表项要么是小整数,要么是短字符串,那么redis会使用压缩列表作为列表键的底层实现 2.哈希键 当一个哈希键只包含少量的键值对,并且每个键值对的键和值要么是小整数,要么是短字符串,那么redis会使 阅读全文
posted @ 2019-07-27 09:55 西*风 阅读(818) 评论(0) 推荐(1) 编辑
摘要:1.整数集合:整数的集合,升序排序,无重复元素 2.整数集合intset是集合键的底层实现之一,当一个集合只包含整数值的元素,并且这个集合的元素数量不多时,redis会使用整数集合作为集合键的底层实现 3.intset可通过属性自定义编码方式(int16_t/int32_t/int64_t) 4.当 阅读全文
posted @ 2019-07-26 11:24 西*风 阅读(403) 评论(0) 推荐(0) 编辑
摘要:跳跃表的定义 跳跃表是一种有序数据结构,它通过在每个结点中维持多个指向其他结点的指针,从而达到快速访问其他结点的目的 跳跃表的结构 关于跳跃表的学习请参考:https://www.jianshu.com/p/ac351674d8eb?utm_campaign=maleskine&utm_conten 阅读全文
posted @ 2019-07-24 15:36 西*风 阅读(914) 评论(0) 推荐(0) 编辑
摘要:字典,又叫映射,是一种用于保存键值对的抽象数据结构 划重点:抽象数据结构 Redisd字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表结点,而每个哈希表结点就保存了字典中的一个键值对 一.哈希表结构 // dictht 哈希表 //每个字典都使用两个哈希表,从而实现渐进式 rehash t 阅读全文
posted @ 2019-04-25 09:16 西*风 阅读(1394) 评论(0) 推荐(2) 编辑
摘要:Redis底层链表的源码分析: 一.链表结点的结构(单个结点): // listNode 双端链表节点 typedef struct listNode { // 前置节点 struct listNode *prev; // 后置节点 struct listNode *next; // 节点的值 vo 阅读全文
posted @ 2019-04-20 21:46 西*风 阅读(883) 评论(0) 推荐(0) 编辑
摘要:一.SDS的简单介绍 SDS:简单动态字符串(simple dynamic string) 1)SDS是Redis默认的字符表示,比如包含字符串值的键值对都是在底层由SDS实现的 2)SDS用来保存数据库中的字符串值 3)SDS被用作缓冲区:比如AOF模块的AOF缓冲区,以及客户端状态中的输入缓冲区 阅读全文
posted @ 2019-04-20 10:53 西*风 阅读(4555) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示