redis配置之lazy freeing

简介

Redis是single-thread程序(除少量的backgroup I/O 任务), 当运行一个耗时较大的请求时,会导致所有请求排队等待redis不能响应其他请求,引起性能问题, 甚至集群发生故障切换。

lazy free可译为惰性删除或延迟释放;当删除键的时候, redis提供异步延时释放key内存的功能,把key释放操作放在bio(Background I/O)单独的子线程处理中,减少删除big key对redis主线程的阻塞。有效地避免删除big key带来的性能和可用性问题。

lazy freeing使用场景

1、第一类是与DEL命令对应的主动删除 2、第二类是过期key删除、maxmemory key驱逐淘汰删除。

……

阅读全文

Redis配置之主从配置

简介

redis 主从模式复制,可以保证数据的安全性。

有些人认为 master-slave 暗指“奴隶制度”,因此建议修改掉,这个看似简单的修改实际上要付出昂贵的代价。

在redis5的时候,将 master-slave 架构的描述改为 master-replica,并且兼容之前的slave命令。

只是为 SLAVEOF 提供别名 REPLICAOF,所以仍然可以使用 SLAVEOF,但多了一个选项。

复制

1、redis复制是异步的,但是也指定几个从节点接受到复制后,才表示写成功。

2、如果网络出现抖动或者延迟,相对时间比较断,Redis副本可以与主节点进行增量同步即可。这个可以通过配置的缓存大小来控制。

3、复制过程是自动的,不需要手动干预,如果是网络断开了,Redis副本会自动重新尝试连接主节点,进行增量或者全量同步。

……

阅读全文

redis配置之include

简介

可以通过include引入redis的配置,引入其他配置文件,在config rewrite的时候,是不会被修改的,因此在使用哨兵的时候,记得不要把一些主从相关的配置放到其他文件。

为了避免这些自定义配置被覆盖,include最好放到配置最前面。

……

阅读全文

redis配置之AOF持久化

简介

默认情况下,redis 异步存储rdb,这个模式已经可以在大部分应用场景已经够好了。但是Redis进程有问题或者断电,可能会导致几分钟的写操作的数据丢失(取决于配置的保存点)。

AOF

AOF(Append Only File) 是另一种持久化模式,默认的数据fsync策略,Redis在服务器断电之类的重大事件中可能会丢失一秒钟的写入,或者在Redis进程本身出现问题时丢失一次写入,但操作系统仍在正常运行。

AOF 和 RDB 两种持久化方式可以同时使用。在启动时候是使用AOF文件加载数据的。

……

阅读全文

redis配置之快照

简介

redis 可以持久化数据到磁盘,rdb文件就是redis持久化生成的快照文件。

设置

save 参数可以控制,什么时候写快照文件。

save <seconds> <changes>
……

阅读全文

redis配置之慢日志

简介

redis的慢日志是指超过指定执行时间的操作日志。

这个执行时间不包括客户端握手通讯的时间,如与客户端的通讯、发送回复等等。仅仅只是命令完成所需的时间。

涉及参数

慢日志配置涉及两个参数:

  1. 一个是设置超过多长的执行时间就记录日志,单位是微秒(microseconds);

  2. redis记录日志是使用一个队列,设置这个队列的长度,如果慢日志满了,就会删除最旧的记录。

……

阅读全文

redis配置之安全配置

简介

redis一般都是放在内网,不对公网开放访问。但是如果内网被入侵就会存在风险。

设置密码

设置密码,虽然设置密码还是可以被抓包抓到可谓是防君子,防不住小人。但是至少可以防止redis服务不小心被乱用。

……

阅读全文

redis配置之客户端数连接限制

简介

redis 客户端连接限制是指,同时有多少客户端连接 redis 服务。

redis连接数限制会受到系统process file的限制,

报错

一旦客户端连接数达到最大客户端的限制,就会报错:

max number of clients reached
……

阅读全文

redis配置之网络

简介

redis 一般都是通过网络提供服务的。

绑定监听地址

默认配置文件是绑定的127.0.0.1的地址,这个只能本机使用。

如果没有指定bind这个参数默认是监听本机的所有地址。

例如

# bind 192.168.1.100 10.0.0.1

多个地址使用空格间隔开。

……

阅读全文