redis-server启动时就需要一个redis.conf配置文件,所以要设置不同的redis-server,就必须要了解配置文件中的各个内容。这里罗列了一些配置,在文件中顺序从上至下。
1.单位对大小写不敏感
2.可以包含多个配置文件,将其他配置文件的内容放在该配置文件里
3.网络(重点)设置绑定的ip。
指定ip可以访问到redis服务,若配置集群则需要修改此处
protected-mode 保护模式默认yes开启,若需要远程连接则需要设置为no。
port为服务占用的端口
3.密码。设置客户端登录连接redis服务所需要的授权密码。授权方式为 auth [password]
4.daemonize进程方式运行redis-server,默认为no。一般需要后台运行server,都需要修改为yes
5.pidfile。若server以后台的方式运行,则需要对应的进程文件
6.配置日志
loglevel 日志级别;
logfile 日志输出路径和文件名称;若为空,则标准输出(输出在控制台上),不进行存储。
7.数据库的数量。默认16个(0~15)
8.持久化
redis是内存存储,如果没有持久化,那么数据断电即失。redis默认使用rdb的方式持久化
①、save:这里是用来配置触发 Redis的 RDB 持久化条件,也就是什么时候将内存中的数据保存到硬盘。比如“save m n”。表示m秒内数据集存在n次修改时,自动触发bgsave
默认如下配置:
save 900 1:表示900 秒内如果至少有 1 个 key 的值变化,则保存 save 300 10:表示300 秒内如果至少有 10 个 key 的值变化,则保存 save 60 10000:表示60 秒内如果至少有 10000 个 key 的值变化,则保存
当然如果你只是用Redis的缓存功能,不需要持久化,那么你可以注释掉所有的 save 行来停用保存功能。可以直接一个空字符串来实现停用:save ""
②、stop-writes-on-bgsave-error :默认值为yes。当启用了RDB且最后一次后台保存数据失败,Redis是否停止接收数据。这会让用户意识到数据没有正确持久化到磁盘上,否则没有人会注意到灾难(disaster)发生了。如果Redis重启了,那么又可以重新开始接收数据了
③、rdbcompression ;默认值是yes。对于存储到磁盘中的快照,可以设置是否进行压缩存储。如果是的话,redis会采用LZF算法进行压缩。如果你不想消耗CPU来进行压缩的话,可以设置为关闭此功能,但是存储在磁盘上的快照会比较大。
④、rdbchecksum :默认值是yes。在存储快照后,我们还可以让redis使用CRC64算法来进行数据校验,但是这样做会增加大约10%的性能消耗,如果希望获取到最大的性能提升,可以关闭此功能。
⑤、dbfilename :设置快照的文件名,默认是 dump.rdb
⑥、dir:设置快照文件的存放路径,这个配置项一定是个目录,而不能是文件名。默认是位于启动redis服务的当前pwd路径。
也就是说通过在配置文件中配置的 save 方式,当实际操作满足该配置形式时就会进行 RDB 持久化,将当前的内存快照保存在 dir 配置的目录中,文件名由配置的 dbfilename 决定。
9.主从复制相关配置,
replicaof <masterip> <masterport>:配置所属的主服务器,主服务器ip地址和端口。注意主服务器要配合修改bind
masterauth <master-password>:连接主服务器的密码
10.maxclients 设置同时连接redis的客户端的最大数量
11.maxmemory定义可用最大物理内存
12.maxmemory-policy 设置内存达到上限之后的处理策略:https://www.cnblogs.com/yueerya/p/11507898.html
noeviction: 不删除策略, 达到最大内存限制时, 如果需要更多内存, 直接返回错误信息。(默认值)
allkeys-lru: 所有key通用; 优先删除最近最少使用(less recently used ,LRU) 的 key。
volatile-lru: 只限于设置了 expire 的部分; 优先删除最近最少使用(less recently used ,LRU) 的 key。
allkeys-random: 所有key通用; 随机删除一部分 key。
volatile-random: 只限于设置了 expire 的部分; 随机删除一部分 key。
volatile-ttl: 只限于设置了 expire 的部分; 优先删除剩余时间(time to live,TTL) 短的key。
redis中并不会准确的删除所有键中最近最少使用的键,而是随机抽取maxmeory-samples个键,删除这三个键中最近最少使用的键。
13.APPEND ONLY MODE为aof配置
appendonly 默认为 no,默认关闭
appendfilename,aof持久化文件的名字
appendfsync always,每次修改都会同步,消耗性能
appendfsync everysec,每秒执行一次同步,若宕机则可能失去这1s的数据
appendfsync no,不执行同步,这个时候操作系统自己同步数据,速度最快