主程序:redis-server
配置文件:/etc/redis.conf
目录:
1.redis-cli命令
2.conf配置文件
3.主从复制原理与架构实现
4.redis的高可用方案 – sentinel
2.conf配置文件
#### GENERAL ####daemonize yes #以守护进程的方式运行pidfile “/var/run/redis/redis.pid” #pidfileport 6379 #porttcp-backlog 511 #tcp的backlog队列长度,backlog的长度是未建立的tcp连接和已经建立的tcp连接之和,等待进程从队列中调用建立的连接。bind 192.168.1.30 10.0.0.1 #监听的地址,可以指定多个,0.0.0.0代表本机所有所有地址。timeout 5000 #客户端连接的超时时间,单位是毫秒。loglevel notice #日志的记录等级。logfile “/var/log/redis/redis.log” #日志的存放位置。databases 16 #redis所启动的数据库(名称空间)数量,可以在cli中通过select #来切换。## SNAPSHOTTING ##save 900 1 #RDB方式的持久化策略,也就是说RDB方式下,数据被定期存储到磁盘的策略。save 300 10 #此处三个save依次表示,在900秒内,如果1个key发生改变就写一次磁盘;save 60 10000 #在300秒内,如果10个key发生改变就写一次磁盘;在60秒内如果10000个key发生改变就写一次磁盘。stop-writes-on-bgsave-error yes #在bgsave时,发生写入操作时会报告错误么,即在bgsave时不允许写入数据。rdbcompression yes #rdb文件可以被压缩。rdbchecksum yes #rdb文件开启校验。dbfilename “dump.rdb” #db的名称为 dump.rdbdir “/redis/data1” #RDB的数据目录,在指定非默认目录时,需要修改目录的属主属组为你当前redis进程的属主属组,一般为redis。# APPEND ONLY MODE #appendonly yes #开启AOF持久化方式。appendfilename “appendonly.aof” #AOF文件名。appendfsync everysec #AOF的持久化策略,有三个值,always表示只要发生数据操作就执行保存或者重写AOF;everysec表示一秒一次;no表示关闭;no-appendfsync-on-rewrite yes #在重写时将当前AOF的日志存储在内存中,防止AOF附加操作与重写产生数据写入堵塞问题,提高了性能却增加了数据的风险性。auto-aof-rewrite-percentage 100 #每当AOF日志是上次重写的一倍时就自动触发重写操作。auto-aof-rewrite-min-size 64mb #自动触发重写的最低AOF日志大小为64MB,为了防止在AOF数据量较小的情况话频繁发生重写操作。aof-load-truncated yes #当redis发生奔溃,通过AOF恢复时,不执行最后最后那条因为中断而发生问题的语句。#### LIMITS ####maxclients 10000 #限制最大的并发用户连接数为10000条。# maxmemory <bytes> #限制最大的内存使用量。### SECURITY ###requirepass <password> #设定认证的密码,如果设定了,在远程cli登录,主从配置和sentinel时都需要指定对应参数为此passwd。
3.主从复制原理与架构实现
只需在从节点的配置文件中修改以下配置即可:### REPLICATION ###slaveof 192.168.1.29 6379 #主节点地址,<host> <port>。#masterauth <master-password> #如果设置了访问认证就需要设定此项。slave-server-stale-data yes #当slave与master连接断开或者slave正处于同步状态时,如果slave收到请求允许响应,no表示返回错误。slave-read-only yes #slave节点是否为只读。slave-priority 100 #设定此节点的优先级,是否优先被同步。
4.redis的高可用方案 – sentinel
只需在sentinel节点的配置文件中修改以下配置即可:vim /etc/redis-sentinel.confport 26379#sentinel announce-ip 1.2.3.4 #默认监听在0.0.0.0 所以此处可以注释。dir “/tmp”sentinel monitor mymaster 192.168.1.29 6379 1 #sentinel moitor <master-name> <ip> <redis-port> <法定人数quorum>#设定master节点的*名称*和位置,法定人数表示多少台sentinel节点认同才可以上线。sentinel down-after-milliseconds mymaster 5000 #如果联系不到节点5000毫秒,我们就认为此节点下线。sentinel failover-timeout mymaster 60000 #设定转移主节点的目标节点的超时时长。sentinel auth-pass <master-name> <password> #如果redis节点启用了auth,此处也要设置password。一些关于sentinel的命令:sentinel master <master-name> #查看此复制集群的主节点信息。sentinel slaves <master-name> #查看此复制集群的从节点信息。sentinel failover <node-name> #切换指定的节点为节点为主节点。
原创文章,作者:z long,如若转载,请注明出处:http://www.178linux.com/84251