redis

一、源码安装

[root@redis-node1 ~]# tar zxf redis-7.4.0.tar.gz 
[root@redis-node1 ~]# cd redis-7.4.0
[root@redis-node1 redis-7.4.0]# dnf install make gcc -y

[root@redis-node1 redis-7.4.0]# make ;make install

#启动redis

[root@redis-node1 redis-7.4.0]# cd utils/
[root@redis-node1 utils]# vim install_server.sh 

#bail if this system is managed by systemd

#_pid_1_exe="$(readlink -f /proc/1/exe)"
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
#       echo "This systems seems to use systemd."
#       echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
#       exit 1
#fi

[root@redis-node1 utils]# mkdir /etc/init.d/ -p
[root@redis-node1 utils]# ./install_server.sh

[root@redis-node1 utils]# vim /etc/redis/6379.conf

bind  * -::*
[root@redis-node1 utils]# /etc/init.d/redis_6379 restart

[root@redis-node1 utils]# redis-cli
127.0.0.1:6379> 

二、redis的基本操作

#查看配置

127.0.0.1:6379> CONFIG GET BIND
1) "BIND"
2) "* -::*"
127.0.0.1:6379> CONFIG GET *
  1) "repl-diskless-sync"
  2) "yes"
  3) "zset-max-listpack-entries"
  4) "128"
  5) "hash-max-listpack-value"
  6) "64"
  7) "appenddirname"
  8) "appendonlydir"
  9) "syslog-ident"
.......

##redis里面有0-15个数据库

127.0.0.1:6379> SELECT 1
OK
127.0.0.1:6379[1]> GET NAME
(nil)
....

三、主从辅助 

配置主从同步

在node1,2,3配置

[root@redis-node1 utils]# vim /etc/redis/6379.conf 

protected-mode no

[root@redis-node1 utils]# /etc/init.d/redis_6379 restart 

 配置slave节点

[root@redis-node2 ~]#vim /etc/redis/6379.conf

replicaof 172.25.250.10 6379

 

 redis的哨兵

#在master节点

[root@redis-node1 redis-7.4.0]# cp sentinel.conf /etc/redis/
[root@redis-node1 redis-7.4.0]# vim /etc/redis/sentinel.conf 

sentinel monitor mymaster 172.25.250.10 6379 2

sentinel down-after-milliseconds mymaster 10000

 sentinel parallel-synce mymaster 1  #master数据的slave数量

sentinel failover-timeout mymaster 180000 #整个故障切换的超时时间为3分钟
[root@redis-node1 redis-7.4.0]# scp /etc/redis/sentinel.conf root@172.25.250.11:/etc/redis/
root@172.25.250.11's password: 
sentinel.conf                                             100%   14KB   8.2MB/s   00:00    
[root@redis-node1 redis-7.4.0]# scp /etc/redis/sentinel.conf root@172.25.250.12:/etc/redis/
root@172.25.250.12's password: 
sentinel.conf                                             100%   14KB   9.6MB/s   00:00  

 启动服务

[root@redis-node1 redis]# redis-sentinel /etc/redis/sentinel.conf
##在开一个master节点终端

8755:X 29 Aug 2024 16:08:05.634 # +odown master mymaster 172.25.250.10 6379 #quorum 3/2
8755:X 29 Aug 2024 16:08:05.634 * Next failover delay: I will not start a failover before Thu Aug 29 16:14:06 2024
8755:X 29 Aug 2024 16:08:06.050 # +config-update-from sentinel 4427d4c9515b51f30c7389f57d24d937d46c0d89 172.25.250.12 26379 @ mymaster 172.25.250.10 6379
8755:X 29 Aug 2024 16:08:06.051 # +switch-master mymaster 172.25.250.10 6379 172.25.250.11 6379
8755:X 29 Aug 2024 16:08:06.052 * +slave slave 172.25.250.12:6379 172.25.250.12 6379 @ mymaster 172.25.250.11 6379
8755:X 29 Aug 2024 16:08:06.052 * +slave slave 172.25.250.10:6379 172.25.250.10 6379 @ mymaster 172.25.250.11 6379
8755:X 29 Aug 2024 16:08:06.055 * Sentinel new configuration saved on disk
8755:X 29 Aug 2024 16:08:16.060 # +sdown slave 172.25.250.10:6379 172.25.250.10 6379 @ mymaster 172.25.250.11 6379
 

 

#在matster中设定 [root@redis-node2 ~]# redis-cli

127.0.0.1:6379> CONFIG GET min-slaves-to-write

1) "min-slaves-to-write"

2) "0" 127.0.0.1:6379> CONFIG set min-slaves-to-write 2 OK

127.0.0.1:6379> CONFIG GET min-slaves-to-write

1) "min-slaves-to-write" 2) "

2"

#如果要永久保存写到配置文件中/etc/redis/6379.conf 

 redis cluster

准备6台  yum下载

[root@redis-node1 ~]# vim /etc/redis/redis.conf

masterauth "123456" #集群主从认证

requirepass "123456" 用“auth 密码”进行认证

cluster-enabled yes

cluster-config-file nodes-6379.conf #指定集群配置文件

cluster-node-timeout 15000

bind * -::*

[root@redis-node1 ~]# redis-cli 
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> keys *
(empty array)
 

[root@redis-node1 ~]# redis-cli --cluster help  #命令帮助

 [root@redis-node1 ~]# redis-cli --cluster create -a 123456 172.25.250.10:6379 172.25.250.11:6379 172.25.250.12:6379 172.25.250.13:6379 17214:6379 172.25.250:15:6379 --cluster-replicas 1

Can I set the above configuration? (type 'yes' to accept): yes

Master[0] -> Slots 0 - 5460   #哈希槽分配
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383

 

 #配置文件位置

[root@redis-node1 ~]# ll /var/lib/redis/nodes-6379.conf 
-rw-r--r-- 1 redis redis 805 Aug 29 17:37 /var/lib/redis/nodes-6379.conf

 检测redis集群状态

[root@redis-node1 ~]# redis-cli -a 123456 --cluster info 172.25.250.10:6379

 [root@redis-node1 ~]# redis-cli -a 123456 cluster info

 [root@redis-node1 ~]# redis-cli -a 123456 --cluster check 172.25.250.10:6379

 写入数据

[root@redis-node1 ~]# redis-cli -a 123456
[root@redis-node2 ~]# redis-cli -a 123456

 

 集群扩容

#集群扩容

[root@redis-node2 ~]# redis-cli  -a 123456 --cluster add-node 172.25.250.16:6379 172.25.250.11:6379
 

[root@redis-node2 ~]# redis-cli  -a 123456 --cluster reshard 172.25.250.11:6379 #分配卡槽

 

 # redis-cli -a 123456 --cluster del-node IP:6379  标记 ##标记比如上图的b66e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值