Redis入门很简单之三【常见参数配置】 博客分类: NoSQL/Redis/MongoDB redisnosql缓存中间件memcached
Redis的一下常见设置都是通过对redis.conf文件进行修改来完成的。
本文主要介绍了设置访问密码、主从配置、设置数据和日志目录、以及参数调优等方面。
一. 权限设置:
1. 修改redis.conf文件:
requirepass nick123
2. 客户端登录,需要先进行授权操作,提供密码即可。
auth nick123
二. 主从配置:
通过设置Redis的配置文件redis.conf可以进行主从(Master-Slave)设置,可以设置一个Redis节点为Master,同时设置一个或多个Slave节点。
1. 在从节点配置redis.conf即可:设置为主节点的IP和端口
slaveof 192.168.142.12 6379
2. 如果Master节点设置了密码,Slave节点需要同时设置:
masterauth nickxu
3. 说明:
@ 通过主从设置,可以进行读写分离:通常使用Master节点负责写数据,Slave节点负责读数据、注意Slave节点不能进行写操作。
@ 数据备份:在Slave节点执行如下命令,然后拷贝dump.rdb即可
bgsave #该命令在后台执行,进行持久化操作,不会影响客户端的链接 save #如果上述bgsave执行失败,可以使用save进行操作,但是会影响客户端的链接
三. 日志/数据目录:
1. 创建如下所示的目录:
mkdir -p /opt/redis/logs mkdir -p /opt/redis/data
2. 对日志进行设置:
loglevel debug #日志级别:默认为notice logfile /opt/redis/logs/redis.log #日志输出:默认为stdout
3. 设置数据目录:
dbfilename redis.rdb #默认为dump.rdb dir /opt/redis/data #默认为./
四. 设置最大内存:
maxmemory 256mb
[说明]
@ 设置Redis能够占用的最大内存,防止影响性能甚至造成系统崩溃。
@ 一定要小于物理内存(512MB),留有充足的内存供系统及其他应用程序使用。
五. 备份策略:
1. 使用快照:snapshot
save 60 1000
[说明]
@ 如上的设置,会在60s内、如果有1000个key发生改变就进行持久化。
@ 可设置多个save选项,默认持久化到dump.rdb。
2. 文件追加(aof):append-only-file模式。
@ Redis会将每个接收到的“写命令”通过write函数追加到appendonly.aof文件,重启Redis时通过该文件重建整个数据库。
@ 由于os内核会缓存write函数所做的“修改”,可以使用fsync函数指定写入到磁盘的方式。
appendonly yes #启动aof持久化方式 appendfsync always #对每条“写命令”立即写至磁盘 appendfsync everysec #默认:每秒写入一次,在性能和可靠性之间的平衡 appendfsync no #依赖于os,不指定写入时机
3. 两种方式的比较:
@ 快照方式:性能较好,但是快照间隔期间,如果宕机将造成数据丢失。
@ AOF模式:影响性能,不容易造成数据丢失。
@ 如果Redis宕机:重启Redis即可,会自动使用redis.rdb、appendonly.aof恢复数据库。
4. 主从备份:从数据安全性角度考虑。
@ 关闭快照功能。
@ 同时设置主从服务器都为AOF模式。
@ 说明:如果仅对Slave进行持久化设置,重启时,Slave自动和Master进行同步,全部数据丢失。