一、配置详情

1、单位

# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes

2、include - 引入配置文件

引入其他的配置文件,组合配置文件,就好比spring的import,include

# include /path/to/local.conf
# include /path/to/other.conf

**3、网络 **

3.1、绑定 - bind

绑定的网络地址,这里面的地址写了,才能被这个地址访问。

# bind 192.168.1.100 10.0.0.1     # listens on two specific IPv4 addresses
# bind 127.0.0.1 ::1              # listens on loopback IPv4 and IPv6
# bind * -::*                     # like the default, all available interfaces

bind 0.0.0.0

3.2、protected-mode - 保护模式

保护模式一般都是开启的。

protected-mode yes

3.3、port - 端口

设置访问redis的端口号

port 6379

tcp-backlog 511  #tcp连接

timeout 0  #连接超时时间

tcp-keepalive 300 #

4、通用 - GENERAL配置

4.1、daemonize - 守护进程

daemonize yes  #是否已守护进程开启,默认是no。yes是后台运行。

4.2、supervised - 管理线程

# supervised auto #默认是no

4.3、pidfile -

pidfile /var/run/redis_6379.pid #若  daemonize yes 以后台的方式运行 ,就需要指定一个pid文件!

4.4、loglevel notic - 日志级别

# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably) #生产环境
# warning (only very important / critical messages are logged) #警告
loglevel notice  #日志级别

logfile "" #日志文件位置,如果为空只是打印输出

4.5、databases - 数据库数量

databases 16 #默认使用17个数据库0-16

4.6、是否显示logo

always-show-logo no  #默认是no 不显示(版本不一样默认值不一样)

5、save - 快照

5.1、save - 快照

持久化,在规定时间内,执行了多少次操作,则会持久化到文件。.rdb .aof

redis 是内存数据库,如果没有持久化,那么数据断电丢失。

#如果 3600s 内,如果至少有1 key进行了修改,我们进行持久化操作
save 3600 1
# 如果 300s 内,如果至少有100 key进行了修改,我们进行持久化操作
save 300 100
# 如果 60s 内,如果至少有10000 key进行了修改,我们进行持久化操作
save 60 10000
#后面根据需求自定义。

5.2、stop-writes-on-bgsave-error

stop-writes-on-bgsave-error yes  #持久化出错后,是否继续工作。

5.3、rdbcompression - 压缩

rdbcompression yes #是否压缩rdb文件,需要消耗一些cpu资源!

5.4、rdbchecksum - 检验rdb

rdbchecksum yes  #是否校验。保存rdb文件的时候,进行错误的检查校验!

5.5、dir - rdb文件保存路径

dir ./

6、REPLICATION - 复制

主从复制相关操作

7、SECURITY - 安全

7.1、设置密码

requirepass 123456 #设置验证密码

config get requirepass #获取密码
config set requirepass "123456"  #设置密码
auth 123456  #验证密码

8、CLIENTS - 客户端

8.1、maxclients - 设置最大连接数

maxclients 10000  #设置连接最大客户端

9、设置内存容量

9.1、设置最大内存容量

maxmemory <bytes>  # 设置最大内存容量

9.2、设置内存溢出策略

maxmemory-policy noeviction  #设置内存容量达到最大后的的策略。
1、volatile-lru:只对设置了过期时间的key进行LRU(默认值) 
2、allkeys-lru : 删除lru算法的key   
3、volatile-random:随机删除即将过期key   
4、allkeys-random:随机删除   
5、volatile-ttl : 删除即将过期的   
6、noeviction : 永不过期,返回错误

10、APPEND ONLY MODE - aof模式

10.1、appendonly - aof是否开启

appendonly no #默认不开启aof模式,默认使用rdb方式持久化。在大部分所有的情况下,rdb完全够用。
appendfilename "appendonly.aof"  #持久化的文件名字。

# appendfsync always #每次修改都会sync。消耗性能
appendfsync everysec #每秒执行一次sync(同步)可能会丢失这1s的值。
# appendfsync no #不执行sync同步,这个时候操作系统自己同步数据,速度最快。