随笔分类 - 数据库 / Redis
Redis
摘要:1 前言 Redis,我们做开发的想必都用过,他是一种缓存,主要用于快速响应结果嘛。比如我们要获取商品的详情,有日销量、月销量、库存数量、评价数量,这些数据都在Redis 缓存中,那么我们是要拿四趟?还是一趟呢?当然是一趟最好呀。接下来我们来看看为什么我们要一趟这么做,以及怎么做。 2 为什么需要批
阅读全文
摘要:1 前言 这节我们复习下 Redis 的配置哈,配置也是学习的一部分,配置也能体现 Redis 设计者们的一些思路哈。 2 配置说明 1 ################################### NETWORK ################################### 2
阅读全文
摘要:1 前言 上节我们看了主从模式,这节我们来看看哨兵模式哈。 2 为什么要有哨兵机制? 在 Redis 的主从架构中,由于主从模式是读写分离的,如果主节点(master)挂了,那么将没有主节点来服务客户端的写操作请求,也没有主节点给从节点(slave)进行数据同步了。 这时如果要恢复服务的话,需要人工
阅读全文
摘要:1 前言 前面我们看了持久化的两种方式 AOF 和 RDB,这两个持久化技术保证了即使在服务器重启的情况下也不会丢失数据(或少量损失)。 不过,由于数据都是存储在一台服务器上,如果出事就完犊子了,比如: 如果服务器发生了宕机,由于数据恢复是需要点时间,那么这个期间是无法服务新的请求的; 如果这台服务
阅读全文
摘要:1 前言 通常针对服务器的访问速度越来越差,基本性能瓶颈是在数据库,那么我们通常会给服务器加上 Redis,让其作为数据库的缓存或者本地缓存,这样,在客户端请求数据时,如果能在缓存中命中数据,那就查询缓存,不用在去查询数据库,从而减轻数据库的压力,提高服务器的性能。 缓存无非就是对数据的一份Copy
阅读全文
摘要:1 前言 用户的数据一般都是存储于数据库,数据库的数据是落在磁盘上的,磁盘的读写速度可以说是计算机里最慢的硬件了。 当用户的请求,都访问数据库的话,请求数量一上来,数据库很容易就奔溃的了,所以为了避免用户直接访问数据库,会用 Redis 作为缓存层。 因为 Redis 是内存数据库,我们可以将数据库
阅读全文
摘要:1 前言 我们都知道Redis中的key是可以设置过期时间的,那么问题来了,比如到期后是怎么被删除的呢?就是Redis 的「内存淘汰策略」和「过期删除策略」,这两个机制虽然都是做删除的操作,但是触发的条件和使用的策略都是不同的。我们这节就来看看哈。 2 过期时间 如何设置过期时间? 先说一下对 ke
阅读全文
摘要:1 前言 这节我们来看看持久化中需要关注的一个问题哈,即Redis 的大 Key 对持久化有什么影响。 2 大 Key 对 AOF 日志的影响 先说说 AOF 日志三种写回磁盘的策略 Redis 提供了 3 种 AOF 日志写回硬盘的策略,分别是: Always,这个单词的意思是「总是」,所以它的意
阅读全文
摘要:1 前言 这节我们来看看持久化方式中的RDB哈。 2 RDB 快照 虽说 Redis 是内存数据库,但是它为数据的持久化提供了两个技术。 分别是「 AOF 日志和 RDB 快照」。 这两种技术都会各用一个日志文件来记录信息,但是记录的内容是不同的。 AOF 文件的内容是操作命令; RDB 文件的内容
阅读全文
摘要:1 前言 这节我们来看看持久化方式中的AOF哈。 2 AOF 日志 试想一下,如果 Redis 每执行一条写操作命令,就把该命令以追加的方式写入到一个文件里,然后重启 Redis 的时候,先去读取这个文件里的命令,并且执行它,这不就相当于恢复了缓存数据了吗? 这种保存写操作命令到日志的持久化方式,就
阅读全文
摘要:1 前言 Redis为什么快呢?除了它是内存数据库,使得所有的操作都在内存上进行之外,还有一个重要因素,它实现的数据结构,使得我们对数据进行增删查改操作时,Redis 能高效的处理。 因此,这次我们就来好好聊一下 Redis 数据结构。 注意,Redis 数据结构并不是指 String(字符串)对象
阅读全文
摘要:1 前言 我们都知道 Redis 提供了丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合)。 随着 Redis 版本的更新,后面又支持了四种数据类型: BitMap(2.2 版新增)、HyperLogLog(2.8 版新增)
阅读全文