Redis安装与主从、哨兵

一、linux单机安装

1、redis是C语言编写的,需要先安装gcc编译器 - yum install -y gcc tcl
2、上传压缩包并解压redis压缩包 - tar -zxvf redis.tar.gz

[root@xupeng test]# ll
总用量 2424
drwxrwxr-x. 7 root root    4096 104 2021 redis-6.2.6
-rw-r--r--. 1 root root 2476542 412 22:58 redis-6.2.6.tar.gz

3在redis解压目录中执行make命令(此命令用于编译,需要有C语言编译环境,失败了可以用make distclean清楚命令后再次make)
4在redis解压目录中执行make install命令
3与4命令可以写成 make && make install
make install PREFIX=/home/test/(指定安装目录)
不指定默认安装路径/usr/local/bin

[root@xupeng bin]# pwd
/home/test/bin
[root@xupeng bin]# ll
总用量 18904
-rwxr-xr-x. 1 root root 4829536 94 09:52 redis-benchmark
lrwxrwxrwx. 1 root root      12 94 09:52 redis-check-aof -> redis-server
lrwxrwxrwx. 1 root root      12 94 09:52 redis-check-rdb -> redis-server
-rwxr-xr-x. 1 root root 5003824 94 09:52 redis-cli
lrwxrwxrwx. 1 root root      12 94 09:52 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 9518944 94 09:52 redis-server

5、启动方式(后台启动)
在redis的解压目录中找到redis.conf拷贝到/ect目录中,修改/ect中的redis.conf的
daemonize 属性为yes - 表示后台启动
bind 0.0.0.0 - 原本是127.0.0.1,改成0.0.0.0后其他服务器可连接
requirepass 123456 - 配置个密码更安全

[root@xupeng bin]# cp /home/test/redis-6.2.6/redis.conf /etc/
cp:是否覆盖"/etc/redis.conf"? y

6、执行安装目录(/home/test/bin)中的 - ./redis-server /etc/redis.conf
可以通过ps -ef | grep redis 查看进程

[root@xupeng bin]# ./redis-server /etc/redis.conf
[root@xupeng bin]# ps -ef | grep redis
root      33367      1  0 10:00 ?        00:00:00 ./redis-server 0.0.0.0:6379
root      33675   3155  0 10:01 pts/1    00:00:00 grep --color=auto redis

7、/home/test/bin 的redis-cli 可以打开客户端,配置了密码就 -a 123456
8、可以在客户端中输入 shutdown 命令结束redis进程,或者用kill命令杀死进程

[root@xupeng bin]# ./redis-cli -p 6379 -h 127.0.0.1 -a 123456

9、卸载时就把进程杀掉、安装目录删掉即可

二、配置文件

1、redis支持bytes字节,需要自己设置类似于别名,多少字节为一个其他单位,并且不区分大小写,1GB=1gb
2、可以包含其他配置文件
3、redis可以后台启动,yes为启动

# 设置1kb为多少bytes
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
# 引入其他的配置文件
# include /path/to/local.conf
# include /path/to/other.conf
# 设置后台启动
daemonize yes

4、保存进程号在某个文件中
5、日志级别,日志输出路径
6、redis的16个库
7、设置密码
8、最大连接数

#进程号id
pidfile /var/run/redis_6379.pid
#日志级别与路径
loglevel notice
logfile "/home/test/log"
# 库
databases 16
# 设置密码
requirepass foobared
# 最大连接数
# maxclients 10000

7、连接,改为0.0.0.0就可以其他机器访问
8、保护模式是否开启
9、端口号
10、连接队列,高并发时设置大一点
11、长时间不操作的超时时间,0为永不超时
12、 检测心跳(是否还在操作),没操作则释放连接

bind 127.0.0.1 -::1
protected-mode yes
port 6379
tcp-backlog 511
# Close the connection after a client is idle for N seconds (0 to disable)
timeout 0
tcp-keepalive 300

13、持久化配置

################################ SNAPSHOTTING  ################################
# 在900秒内有一个key发生改变,执行持久化操作
save 900 1
save 300 10
save 60 10000
# 磁盘满了关闭写操作
stop-writes-on-bgsave-error yes
# 是否进行文件的压缩
rdbcompression yes
# 检查完整性
rdbchecksum yes
# 文件生成名字和目录
dbfilename dump.rdb
dir ./
################################# REPLICATION #################################
# 开启AOF
appendonly yes
# 生成的文件名字
appendfilename "appendonly.aof"
# 始终同步,每次redis的写入都会立刻记入日志,性能差但数据完整性较好
# appendfsync always
# 每秒同步,每秒记录日志一次,如果宕机,数据可能丢失
appendfsync everysec
# 不同步
# appendfsync no

三、主从配置与哨兵

1、把配置文件复制几份出来用于从机使用,修改端口号、pid文件名称,并指定主机信息等

include /etc/redis.conf
pidfile /var/run/redis_6312pid
port 6312
dbfilename dump6312.rdb
replicaof 127.0.0.1 6379 #主机地址
masterauth ***** #主机密码

2、在从机的客户端上输入slaveof 127.0.0.1 6379,作为某ip某端口的从机。从机只有读操作,写操作执行也会提示报错。(配置文件配置了则不需要,从机启动后默认就会连接到主机)
3、连接后可以通过info replication命令查看自身角色和从机数量

[root@xupeng bin]# ./redis-server /etc/redis6311.conf 
[root@xupeng bin]# ./redis-server /etc/redis6312.conf 
[root@xupeng bin]# ps -ef|grep redis
root      58002      1  0 10:20 ?        00:00:01 ./redis-server 0.0.0.0:6379
root      93380      1  0 10:34 ?        00:00:00 ./redis-server 0.0.0.0:6311
root      93710      1  0 10:34 ?        00:00:00 ./redis-server 0.0.0.0:6312

4、主从机器显示状态,在主机里添加数据,从机也会跟着同步

# 主机显示状态
127.0.0.1:6379> info replication
role:master
connected_slaves:1
# 从机显示状态
127.0.0.1:6311> info replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up

5、此时如果主机掉线,从机不会自动升级为主机,必须等待主机重新上线或者在从机的客户端页面用 slaveof no one命令将从机变为主机。可以开启哨兵模式会自动从多个从机中选择一个成为新的主机。创建一个名称为sentinel.conf的文件,内容如下,等原主机上线后,原主机会成为从机。并在redis目录中使用,./redis-sentinel /etc/sentinel.conf启动即可

port 27001
sentinel monitor xxx 127.0.0.1 6311 1
sentinel auth-pass xxx 123456
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值