redis基础配置

主程序: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” #pidfile
port 6379 #port
tcp-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.rdb
dir “/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.conf
port 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

(0)
z longz long
上一篇 2017-08-08 14:37
下一篇 2017-08-08 14:47

相关推荐

  • 开始学习Linux的一些建议

    建议读者范围 有开发经验者。 科研人员(由其Numrical)。 动手能力强的。 只是好奇,对于Linux只是浅尝辄止的就不建议继续往下看了。 端正学习态度 Linux不等于骇客(or Cracker)。 当然众所周知很多“黑客工具”都是Linux平台上的,我帮助过很多Linux小白发现他们殊途同归都是朝着类似Aircrack-ng去的。 但他们不知道的是:…

    Linux干货 2015-02-26
  • 马哥教育网络班21期+第五周课程练习

    马哥教育网络班21期+第5周课程练习 [TOC] 1. 显示/boot/grub/grub.conf中至少以一个空白字符开头的行。 [root@rhel-5 ~]# grep -E '^[[:space:]]+' /boot/grub/grub.conf  root (hd…

    Linux干货 2016-08-02
  • Linux下编译内核

                           Linux下编译内核 内核编译: 编译内核就是把内核的相关文件重新生成。   内核编译前期准备: Linux kernel下载网址:https://www.kernel.or…

    系统运维 2016-09-21
  • rpm包管理

    一、什么是RPM     RPM全称为“RedHat Package Manager”,看名字就知道这是RedHat公司搞出来的,后来因为RPM发展的很好,逐渐成为了一种通用的标准,就更名为“RPM is Package Manager"。     RPM最大的特点就是…

    Linux干货 2015-05-11
  • LInux系统上的文件管理类型以及bash的基础特性

    LInux系统上的文件管理类型以及bash的基础特性

    2017-12-12
  • Shell脚本编程之循环(for、while、until)

    Shell脚本编程之循环(for、while、until)   一、循环语句的对比: for语句 while语句 until语句 执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 CONDITION:循环控制条件;进入循环之前,先做一次判断;每一次循环之后会再次做判断;条件为“true”…

    Linux干货 2016-08-18