一、Redis 简介Redis 是一个内存中的键值数据库常用于缓存、消息队列、会话存储等场景。它启动时会读取一个叫redis.conf的配置文件来决定如何运行。二、如何修改配置Redis 的配置文件位于 Redis 安装目录下文件名为 redis.conf你可以通过CONFIG命令查看或设置配置项。注使用以下命令前需打开 redis 服务redis-server.exe redis.conf这时候另启一个 cmd 窗口原来的不要关闭不然就无法访问服务端了。切换到 redis 目录下运行:redis-cli.exe -h 127.0.0.1 -p 6379使用*号获取所有配置项不区分大小写config get *同理你可以通过修改 redis.conf 文件或使用CONFIG set命令来修改配置。设置 loglevel 为 notice不区分大小写config set loglevel notice三、配置项说明先补充以下概念RDB 文件Redis DatabaseRedis 数据库的快照文件它是 Redis 实现持久化Persistence的一种方式原理是某个时间点上Redis 内存中所有数据的完整备份快照AOFAppend-Only File只追加文件是 Redis 提供的另一种持久化机制把每一个写操作命令都记录下来保存到一个日志文件里。Redis 重启时通过“重放”这些命令来恢复数据redis.conf 配置项说明序号配置项作用说明1daemonize noRedis 默认在前台运行你关掉终端它就停了。设为yes后它会在后台“默默运行”守护进程。Windows 不支持这个功能必须设为no。2pidfile /var/run/redis.pid如果启用了守护进程daemonize yesRedis 会把它的“进程编号”写到这个文件里方便系统管理比如重启、停止。3port 6379Redis 监听的端口号默认是6379。这个数字其实是个彩蛋手机键盘上 MERZ一位意大利女演员名字对应的数字就是 6379。4bind 127.0.0.1只允许本机localhost连接 Redis。如果想让其他电脑也能连要改成0.0.0.0或指定 IP。5timeout 300客户端空闲 300 秒5分钟后自动断开连接。设为0表示永不超时。6loglevel notice日志详细程度。级别从高到低debug最详细→verbose→notice默认→warning只报错。开发可用 debug生产用 notice 或 warning。7logfile stdout日志输出到哪里。默认是“标准输出”就是终端屏幕。但如果 Redis 在后台运行daemonize yes日志会丢进“黑洞”/dev/null所以通常要改成文件比如logfile /var/log/redis.log。8databases 16Redis 支持多个数据库编号 0 到 15默认用 0。你可以用SELECT 1切换到第1个库。但实际项目中一般只用 0 号库。9save 900 1save 300 10save 60 10000RDB持久化规则满足任一条件就自动把内存数据保存到磁盘dump.rdb 文件。例如15分钟内有1次修改或5分钟内有10次修改或1分钟内有1万次修改。10rdbcompression yes保存 RDB 文件时是否压缩。压缩能省空间但多花点 CPU。一般保持yes。11dbfilename dump.rdbRDB 快照文件的名字默认叫dump.rdb。12dir ./RDB 文件、AOF 文件等存放在哪个目录。默认是当前目录./建议改成/var/lib/redis这类固定路径。13slaveof ip port让当前 Redis 成为另一个 Redis 的“从机”主从复制。现在新版 Redis 已改用replicaof命令但旧配置仍有效。14masterauth 密码如果主 Redis 设置了密码从机要用这个密码去连接。15requirepass foobared给 Redis 加密码客户端连接后必须执行AUTH foobared才能操作。建议在生产环境设置强密码16maxclients 128最多允许多少个客户端同时连接。默认不限制但受系统限制。设太小会导致新用户连不上。17maxmemory bytes限制 Redis 最大使用多少内存比如maxmemory 256mb。超过后会根据策略如 LRU删除旧数据防止内存爆掉。非常重要18appendonly no是否开启AOF 持久化比 RDB 更安全。设为yes后每次写操作都会记录到日志文件即使宕机也能恢复最近数据。19appendfilename appendonly.aofAOF 日志文件的名字。20appendfsync everysecAOF 写盘策略-always每次写都立刻存盘最安全但慢-everysec每秒存一次推荐默认-no由操作系统决定快但可能丢数据21~26vm-*相关虚拟内存VM功能但 Redis 2.4 之后已废弃现在基本没人用可以忽略。27glueoutputbuf yes把多个小回复合并成一个包发送提升网络效率。保持默认即可。28hash-max-zipmap-*优化哈希Hash类型的内部存储结构。当元素少且小时用更省内存的方式存。不用改默认就行。29activerehashing yes是否在后台渐进式地重建哈希表避免卡顿。保持yes。30include /path/to/file.conf类似编程中的 “import”可以把公共配置抽出来复用。比如多个 Redis 实例共享基础配置。结尾希望对大家有帮助