微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis 配置文件详解

Ubuntu 中通过命令 sudo apt-get install redis-server 安装的 Redis认的配置文件在 etc/Redis/redis.conf 中,可以通过 sudo vim /etc/Redis/redis.conf 来打开并进行编辑。

配置文件中的相关配置项如下

1. 网络相关

bind 127.0.0.1 # 绑定的主机地址,如果需要允许外网访问,需要将此行注释,或者改为 bind 0.0.0.0

protected-mode yes # 保护模式

port 6379 # 指定 Redis 监听端口,认端口为 6379

timeout 300    # 当客户端闲置多长秒后关闭连接,如果指定为 0 ,表示关闭功能

2. 守护进程

daemonize yes # 以守护进程的方式运行,认是 no,我们需要自己开启为 yes

# 当 Redis 以守护进程方式运行时,Redis 认会把 pid 写入 /var/run/redis.pid 文件,可以通过 pidfile 指定
pidfile /var/run/redis.pid

3. 日志

# 指定日志记录级别,Redis 总共支持四个级别:debug、verbose、notice、warning,认为 notice
loglevel notice

logfile "" # 日志的文件位置名

# 日志记录方式,认为标准输出,如果配置 Redis 为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给 /dev/null
logfile stdout

4. RDB 配置

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

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

# 如果900s内,如果至少有一个1 key进行了修改,我们及进行持久化操作
save 900 1

# 如果300s内,如果至少10 key进行了修改,我们就进行持久化操作
save 300 10

# 如果60s内,如果至少10000 key进行了修改,我们就进行持久化操作
save 60 10000

stop-writes-on-bgsave-error yes # 持久化如果出错,是否还需要继续工作

# 指定存储至本地数据库时是否压缩数据,认为 yes,Redis 采用 LZF 压缩,如果为了节省 cpu 时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes 

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

dir ./ # rdb 文件保存的目录

5. 安全

可以在这里设置redis密码认是没有密码

0.1:6379> ping
PONG
6379> config get requirepass # 获取redis密码
1) "requirepass"
2) ""
6379> config set requirepass 123456" # 设置redis密码
OK
 config get requirepass # 发现所有的命令都没有权限了
(error) NOAUTH Authentication required.

(error) NOAUTH Authentication required.
6379> auth 123456 # 使用密码进行登录!
OK
 config get requirepass
"

设置密码后可使用如下命令进行登录

redis-cli -a 密码

6. 限制

databases 16 # 数据库数量认是 16数据库

# 设置同一时间最大客户端连接数,认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis关闭新的连接并向客户端返回 max number of clients reached 错误信息
maxclients  

# 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区
maxmemory <bytes> 

7. AOF 配置

# 指定是否在每次更新操作后进行日志记录,Redis认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis 本身同步数据文件是按上面保存条件来同步的,所以有的数据会在一段时间内只存在于内存中。
# 认为 no,即认使用rdb方式持久化的,在大部分所有的情况下,rdb完全够用
appendonly no 

# 指定更新日志文件名(持久化的文件的名字),认为 appendonly.aof
appendfilename appendonly.aof 

# 指定更新日志条件,共有 3 个可选值:
 - no:不执行 sync,表示等操作系统进行数据缓存同步到磁盘(快)
 - always:表示每次更新操作后手动调用 fsync() 将数据写到磁盘(慢,安全)
 - everysec:表示每秒同步一次(折中,认值),可能会丢失这1s的数据
appendfsync everysec 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐