摘要:上一篇文章,我们讲的是 Redis 的一种基于内存快照的持久化存储策略 RDB,本质上他就是让 redis fork 出一个子进程遍历我们所有数据库中的字典,进行磁盘文件的写入。 但其实这种方式是有缺点的,先不说阻塞式 save 调用会阻塞整个 redis 服务,即便异步式 bgsave 也是基于时 阅读全文
posted @ 2020-02-04 16:36 Single_Yam 阅读 (132) 评论 (0)
摘要:Redis 是一个内存数据库,所有的数据都直接保存在内存中,那么,一旦 Redis 进程异常退出,或服务器本身异常宕机,我们存储在 Redis 中的数据就凭空消失,再也找不到了。 Redis 作为一个优秀的数据中间件,必定是拥有自己的持久化数据备份机制的,redis 中主要有两种持久化策略,用于将存 阅读全文
posted @ 2020-01-05 12:56 Single_Yam 阅读 (231) 评论 (0)
摘要:前面我们花了很多的时间介绍了 redis 中基本的数据结构,及其内部的实现情况,这些都是非常基础的东西,可能不经意间你就会用到他们,希望你花点时间了解一下。 接下来,我们将走近 redis 数据库,学习各种操作 redis 的命令,并介绍它的一些实现策略以及集群配置等等内容。 一、redis 中的数 阅读全文
posted @ 2019-12-11 17:26 Single_Yam 阅读 (284) 评论 (0)
摘要:目前为止,我们介绍了 redis 中非常典型的五种数据结构,从 SDS 到 压缩列表,这都是 redis 最底层、最常用的数据结构,相信你也掌握的不错。 但 redis 实际存储键值对的时候,是基于对象这个基本单位的,并且往往一个对象下面对对应不同的底层数据结构实现以便于在不同的场景下切换底层实现提 阅读全文
posted @ 2019-11-28 21:42 Single_Yam 阅读 (290) 评论 (1)
摘要:上一篇我们介绍了 redis 中的整数集合这种数据结构的实现,也谈到了,引入这种数据结构的一个很大的原因就是,在某些仅有少量整数元素的集合场景,通过整数集合既可以达到字典的效率,也能使用远少于字典的内存达到同样的效果。 我们本篇介绍的压缩列表,相信你从他的名字里应该也能看出来,又是一个为了节约内存而 阅读全文
posted @ 2019-11-13 20:09 Single_Yam 阅读 (240) 评论 (0)
摘要:当一个集合中只包含整数,并且元素的个数不是很多的话,redis 会用整数集合作为底层存储,它的一个优点就是可以节省很多内存,虽然字典结构的效率很高,但是它的实现结构相对复杂并且会分配较多的内存空间。 而我们的整数集合(intset)可以做到使用较少的内存空间却达到和字典一样效率的实现,但也是前提的, 阅读全文
posted @ 2019-10-20 20:31 Single_Yam 阅读 (243) 评论 (0)
摘要:我们都知道单链表有一个致命的弱点,查找任一节点都至少 O(n) 的时间复杂度,它需要遍历一遍整个链表,那么有没有办法提升链表的搜索效率? 跳跃表(SkipList)这种数据结构使用空间换时间的策略,通过给链表建立多层索引来加快搜索效率,我们先介绍跳跃表的基本理论,再来看看 redis 中的实现情况。 阅读全文
posted @ 2019-10-12 20:44 Single_Yam 阅读 (295) 评论 (2)
摘要:字典相对于数组,链表来说,是一种较高层次的数据结构,像我们的汉语字典一样,可以通过拼音或偏旁唯一确定一个汉字,在程序里我们管每一个映射关系叫做一个键值对,很多个键值对放在一起就构成了我们的字典结构。 有很多高级的字典结构实现,例如我们 Java 中的 HashMap 底层实现,根据键的 Hash 值 阅读全文
posted @ 2019-09-22 16:07 Single_Yam 阅读 (332) 评论 (0)
摘要:Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。可能几乎所有的线上项目都会使用到 Redis,无论你是做缓存、或是用作消息中间件,用起来很简单方便,但可能大多数人并没有去深入底层的看看 Redis 的一些策略实现等等细节。 正好最近也在项目开发中 阅读全文
posted @ 2019-09-15 11:16 Single_Yam 阅读 (312) 评论 (0)
摘要:前面的几篇文章中,我们大体上介绍了 SQL 中基本的创建、查询语句,甚至也学习了相对复杂的连接查询和子查询,这些基本功相信你也一定掌握的不错,那么本篇则着重介绍几个技巧方面的关键字,能够让你更快更有效率的写出一些 SQL。 起别名 在实际的项目中,有时候我们的表名、字段名过于复杂以致于我们的 SQL 阅读全文
posted @ 2019-03-05 09:14 Single_Yam 阅读 (851) 评论 (3)