目录
摘要
daemonize,port,持久性,AOF,隐藏命令
配置
查看服务器信息
INFO0
配置文件
Linux 系统的配置文件位于 /etc/redis
目录下,名为 redis.conf
Windows 系统的配置文件位于解压后的目录中,名为 redis.windows.conf
常用配置
daemonize
Windows 不支持此属性。
默认值为 no
,表示服务器在前台启动。生成环境中可以修改为 yes
,将服务器在后台启动,同时将服务器的进程 PID 写入一个 pid 文件中。
port
端口号,默认为 6379
。
loglevel
日志级别,默认为 verbose
。生成环境中可以修改为 notice
或 warning
。
logfile
如果在前台运行,默认日志输出到控制台。如果是在守护线程运行,则需要指定文件名。
database
设置可用的数据库数量。
持久性和 Save
Redis 默认将值保存在内存中,只是偶尔保存到磁盘上,可以通过运行 LASTSAVE
命令来查看上次保存时间。
如果想修改保存策略,需要修改配置文件中的 save
属性(快照设置)。
默认的 save
值为
save 900 1
save 300 10
save 60 10000
表示如果有 10000 个键改变了,则 60 秒内保存。如果有 10 个键改变了,则 300 秒内保存。如果仅有 1 个键改变了,则至少 900 秒内保存。
也可以执行 SAVE
命令或 BGSAVE
命令在前台或后强制进行持久化。
append only file (AOF)
有些时候,需要更好的安全措施来防止服务器崩溃造成的数据丢失。AOF 是一个仅追加的命令,它保留了所有命令的记录。如果值还未保存但服务器崩溃了,那么服务器重启后这些命令会重新执行。
开启 AOF 需要设置 appendonly
为 yes
。
AOF 可以修改 appendfsync
来修改策略。默认值为 everysec
,即每秒追加一次,即最坏情况仅会丢失最后一秒的数据。always
则为每条命令写入一次,安全性高但效率低。
隐藏命令
可以通过为命令重命名来在生产环境中减少一些可用命令来实现安全性。
重命名
rename-command SET 11a6fafaefaaetaw
重命名后执行 SET
命令会报错,只有执行设置的难以猜测的值。
也可以通过将值设为空来完全禁止该条命令。
rename-command SET ""
测试工具
Redis 提供了测试工具,可以用于测试当前服务器的配置。
redis-benchmark -n 100000
这表示使用 50 个并发的客户端发起 100000 个请求。