redis的配置很多,我这里主要是讲的是常用的配置参数

连接TCP配置

  • tcp-keepalive :单位:秒,默认是300;客户端与服务器端如果没有任何数据交互,多少秒会进行一次ping,pong 交互。作用:①用于校验是否有机器已经挂了②保持网络活跃(通讯),
  • timeout:单位秒,默认0;如果在一个 timeout 时间内,没有数据的交互,是否断开连接。0代表永不断开。
  • maxclients : 默认是注释掉;配置最大连接该服务的最大客户端个数

通用配置:

  • port : 默认值6379 ,redis 服务的端口号
  • bind  客户端连接服务器的ip,默认是127.0.0.1 ,即本地访问,如果需要远程访问,需要将这个修改为公网ip或者内网ip
  • daemonize : 默认值:no;是否开启守护进行启动redis
  • loglevel :默认值:notice ;redis 服务器日志打印级别
  • debug:在开发,调试阶段很有用,大量的日志
  • verbose:在debug的基础上,减少连接信息以及内部信息
  • notice:建议在生产使用
  • warning:只打印重要、关键的信息
  • databases:默认值:16;redis 数据库的数量,默认使用 0 数据库

数据持久化-快照配置

  • save 900 1    :15分钟内,至少有1个写操作
    save 300 10    :5分钟内,至少有10个操作
    save 60 10000    :1分钟内,至少有10000个写操作
  • rdbcompression  :默认值为:yes ; 是否对日志进行压缩,如果服务器磁盘是ssd,但是cpu比较吃紧,可以配置为no,减少cpu的压力
  • dbfilename : 默认值:dump.rdb;快照的存储文件

数据持久化-追加配置

  • appendonly :默认值为 no ,不适用append 模式的配置
  • appendfilename :默认值:"appendonly.aof",append 模式的日志文件
  • appendfsync :默认值:everysec;持久化的频率
  • always:每一次写操作都持久化
  • everysec:每隔一秒持久化一次(99%的场景都满足)
  • no:不持久化

主从配置

  • replicaof :默认是注释掉的。配置该服务器要作为哪个服务器的从服务器。正常也不需要配置,当某个服务器启动的时候,如果需要作为从服务器,直接再执行一下该命令即可。
  • replica-read-only :默认值:yes;从服务器是否只读。
  • repl-diskless-sync-delay :单位:秒,默认值5, 最少异步同步操作的时间

安全配置

  • requirepass :默认是注释掉的,即无密码登录;如果配置了远程连接,一般都需要配置密码如:requirepass gaoqijin 
    ps:这个是指数据交互的密码,而不是连接的密码,只有发送数据的时候才会提示需要验证密码
  • rename-command :默认是注释掉,这个主要是为了屏蔽容易误操作导致redis服务器崩溃或者数据丢失或配置安全的。比如在生产上配置了:rename-command FLUSHALL b840fc02d5240

内存配置

  • maxmemory : 单位:bytes ,默认注释掉,即可以使用机器的最大剩余内存。
  • maxmemory-policy :默认:noeviction;当数据达到最大内存时候,数据该怎么处理
  • volatile-lru -> 设置了过期时间的keys中,删除最近最少使用.
  • allkeys-lru -> 所有keys中,删除最近最少使用的.
  • volatile-lfu -> 设置了过期时间的keys中,最少使用的keys.
  • allkeys-lfu ->所有keys中,删除最少使用的.
  • volatile-random -> 设置了过期时间的keys中,随机删除keys.
  • allkeys-random -> 所有keys中,随机删除keys.
  • volatile-ttl -> 最接近到期时间的keys
  • noeviction -> 不删除任何数据,操作异常,报错.