随笔分类 -  Redis

摘要:介绍 Redis是运行在内存中的数据库,当我们关闭了Redis服务器后,内存中的数据会丢失吗? 答案是不会的,因为Redis有持久化功能,能够将内存中的数据保存到磁盘中的文件,以此来实现数据的永久保存。 在Redis中,有两种持久化功能: RDB持久化功能,简称RDB快照AOF持久化功能,简称AOF 阅读全文
posted @ 2023-08-17 21:54 秋天Code 阅读(17) 评论(0) 推荐(0) 编辑
摘要:介绍 我们知道Redis是运行在内存中的数据库,那么当我们关闭Redis服务器后,内存中的数据会不会丢失? 当然是不会!因为Redis有持久化机制,所谓持久化,就是将内存中的数据保存到磁盘文件上,以此来达到永久保存数据的目的。 在Redis中,有两种持久化机制: RDB持久化AOF持久化 RDB持久 阅读全文
posted @ 2023-08-17 16:56 秋天Code 阅读(21) 评论(0) 推荐(0) 编辑
摘要:介绍 在Redis中,我们可以为键值对设置有效期,现在面临一个问题,如果一个键值对过期了,那么我们应该怎么删除呢? 我们目前有三种方案: 定时删除:在设置键的过期时间的同时,为此键设置一个定时器timer,定时器在键的过期时间来临时,立即自动执行键的删除。惰性删除:放任键不管,但是每次从获取该键时, 阅读全文
posted @ 2023-08-16 15:25 秋天Code 阅读(16) 评论(0) 推荐(0) 编辑
摘要:对象类型和结构 在Redis中,无论是键key还是值value都是一个对象,每次对Redis数据库创建一个新的键值对时,就至少会创建两个对象。 常见的对象类型有: 字符串列表哈希集合有序集合 这些对象在Redis中统一用一个结构体redisObject来表示,只不过type属性不同。 typeof 阅读全文
posted @ 2023-08-15 16:40 秋天Code 阅读(3) 评论(0) 推荐(0) 编辑
摘要:定义 压缩列表ziplist是Redis中列表和哈希键的底层实现方式之一。 当一个列表只包含少量列表项,并且每个列表项要么是小整数值,要么是较短的字符串时,那么Redis就会使用压缩列表来作为列表的底层实现。 另外,当一个哈希表中只包含少量键值对时,并且每个每个键值对的键key和值value要么是小 阅读全文
posted @ 2023-08-14 22:24 秋天Code 阅读(31) 评论(0) 推荐(0) 编辑
摘要:定义 整数集合是集合的实现方式之一,当一个集合只包含整数值元素时,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合的底层实现。 整数集合就是存放整数的一个数组,整数集合的结构体定义: typeof struct intset { // 编码方式 uint32_t encoding; 阅读全文
posted @ 2023-08-14 21:07 秋天Code 阅读(19) 评论(0) 推荐(0) 编辑
摘要:字典是一种用来保存键值对的数据结构。 在字典中,一个key与一个value相对应,字典中的key是唯一的。 在Redis中字典使用哈希表作为底层实现,用数组来表示一个哈希表,每个元素都是一对key-value 同样,在Redis中字典由三部分组成: 哈希节点,保存一对key-value哈希表,用来爆 阅读全文
posted @ 2023-08-14 16:46 秋天Code 阅读(16) 评论(0) 推荐(0) 编辑
摘要:链表是一种常用的数据结构,提供了顺序访问的方式,而且高效地增删操作。 Redis中广泛使用了链表,例如:列表的底层实现之一就是链表。 在Redis中,链表分为两部分:链表信息 + 链表节点。 链表节点用来表示链表中的一个节点,基础的值和指向前和后的指针链表信息,用来保存整个链表的信息,例如首尾节点、 阅读全文
posted @ 2023-08-14 15:38 秋天Code 阅读(22) 评论(0) 推荐(0) 编辑
摘要:定义 众所周知,Redis是由C语言写的。 对于字符串类型的数据存储,Redis并没有直接使用C语言中的字符串。 而是自己构建了一个结构体,叫做“简单动态字符串”,简称SDS,比C语言中的字符串更加灵活。 SDS的结构体是这样的: struct{ int len; // 数组中已使用的字节的数量,即 阅读全文
posted @ 2023-08-14 15:21 秋天Code 阅读(37) 评论(0) 推荐(0) 编辑

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