什么是非关系型数据库,Redis概述、安装及部署Redis群集(下)

简介: 什么是非关系型数据库,Redis概述、安装及部署Redis群集(下)

-redis其他数据管理命令——keys


******key相关命令
keys——获取符合规则的键值列表(*?)
*——表示任意字符
?——表示一个字符
[root@redis ~]# redis-cli (创建多个键值)
127.0.0.1:6379> set a1 1
OK
127.0.0.1:6379> set a2 2
OK
127.0.0.1:6379> set a3 3
OK
127.0.0.1:6379> set a4 4
OK
127.0.0.1:6379> set a5 5
OK
127.0.0.1:6379> keys * (查看所有键)
1) "a4"
2) "a5"
3) "mylist"
4) "a2"
5) "a1"
6) "key:__rand_int__"
7) "aaa"
8) "a3"
9) "counter:__rand_int__"
127.0.0.1:6379> set b1 1  (创建一个以b开头的键)
OK
127.0.0.1:6379> keys b*   (查看以b开头的键)
1) "b1"
127.0.0.1:6379> set b222 222 (创建一个新的键)
OK
127.0.0.1:6379> keys b?   (查看以b开头的后面任意一个字符的键)
1) "b1"
127.0.0.1:6379> keys b??? (查看以b开头的后面任意三个字符的键)
1) "b222"

-redis其他数据管理命令——exists

******exists——判断键值是否存在
integer——返回值1表示存在,0表示不存在
[root@redis ~]# redis-cli 
127.0.0.1:6379> EXISTS aaa  (判断aaa键值是否存在)
(integer) 1 (返回1说明存在)
127.0.0.1:6379> EXISTS bbb
(integer) 0 (返回0说明不存在)
127.0.0.1:6379> keys *  (查看所有键值,确认bbb是不存在的,aaa存在)
 1) "a4"
 2) "a5"
 3) "mylist"
 4) "a2"
 5) "b222"
 6) "a1"
 7) "key:__rand_int__"
 8) "aaa"
 9) "a3"
10) "b1"
11) "counter:__rand_int__"

-redis其他数据管理命令——del

******del——删除当前数据库的指定键值
[root@redis ~]# redis-cli 
127.0.0.1:6379> keys *  (先查看所有键值)
 1) "a4"
 2) "a5"
 3) "mylist"
 4) "a2"
 5) "b222"
 6) "a1"
 7) "key:__rand_int__"
 8) "aaa"
 9) "a3"
10) "b1"
11) "counter:__rand_int__"
127.0.0.1:6379> del aaa  (删除aaa这个键值)
(integer) 1
127.0.0.1:6379> get aaa  (使用get查看aaa键的值发现无法查看)
(nil)
127.0.0.1:6379> keys *   (再次查看所有键值发现aaa键值已经没了)
 1) "a4"
 2) "a5"
 3) "mylist"
 4) "a2"
 5) "b222"
 6) "a1"
 7) "key:__rand_int__"
 8) "a3"
 9) "b1"
10) "counter:__rand_int__"

-redis其他数据管理命令——type

******type——获取键对应的值的类型
[root@redis ~]# redis-cli 
127.0.0.1:6379> keys *  (查看所有键值)
 1) "a4"
 2) "a5"
 3) "mylist"
 4) "a2"
 5) "b222"
 6) "a1"
 7) "key:__rand_int__"
 8) "a3"
 9) "b1"
10) "counter:__rand_int__"
127.0.0.1:6379> TYPE a1 (查看a1键值的类型)
string  (string表示字符串类型)

-redis其他数据管理命令——rename

******rename——重命名
rename 源键 目标键
——————————————————————————————————————注意——————————————————————————————————————
使用rename会直接覆盖目标键,无论是否存在,即不管有没有数据都会被最后输入的新键名覆盖,就是说就算有了这个键命,也会被刚刚输入的新键名覆盖。
在真实环境中一定要先使用exists先查看目标是否存在然后在决定是否使用rename
————————————————————————————————————————————————————————————————————————————————
[root@redis ~]# redis-cli 
127.0.0.1:6379> keys * (查看所有的键值)
 1) "a4"
 2) "a5"
 3) "mylist"
 4) "a2"
 5) "b222"
 6) "a1"
 7) "key:__rand_int__"
 8) "a3"
 9) "b1"
10) "counter:__rand_int__"
127.0.0.1:6379> get a4 (查看a4的值)
"4"
127.0.0.1:6379> rename a4 b4 (重命名a4为b4)
OK
127.0.0.1:6379> keys *       (再次查看所有的键发现没有a4,但是有b4)
 1) "a5"
 2) "mylist"
 3) "a2"
 4) "b222"
 5) "a1"
 6) "key:__rand_int__"
 7) "b4"
 8) "a3"
 9) "b1"
10) "counter:__rand_int__"
127.0.0.1:6379> get b4  (查看b4的值,发现被a4的值覆盖了)
"4"
127.0.0.1:6379> get a4  (查看a4的值,发现无法查询)
(nil)
127.0.0.1:6379> get a1  (查看a1键的值)
"1"
127.0.0.1:6379> get a2  (查看a2键的值)
"2" 
127.0.0.1:6379> rename a1 a2 (修改a1键名为a2)
OK
127.0.0.1:6379> get a2  (查看a2的值发现呗原来a1的值覆盖了)
"1"
127.0.0.1:6379> get a1  (查看a1的值发现无法查询)
(nil)

-redis其他数据管理命令——renamenx

******renamenx——对已有键进行重命名,并且检测新的名称是否存在,如果新的名称存在,那么则不进行重命名,在真实环境中推荐使用,避免了rename错误覆盖键值
renamenx 源键 目标键 (返回1为成功,0为失败)
[root@redis ~]# redis-cli 
127.0.0.1:6379> keys * (查看所有键值)
1) "a5"
2) "mylist"
3) "a2"
4) "b222"
5) "key:__rand_int__"
6) "b4"
7) "a3"
8) "b1"
9) "counter:__rand_int__"
127.0.0.1:6379> RENAMENX a5 a6 (把a5键名改为a6)
(integer) 1 (返回1表示修改成功)
127.0.0.1:6379> renamenx a2 b1 (把a2键名改为b1)
(integer) 0 (返回0表示修改失败)
127.0.0.1:6379> keys * (再次查看所有键值,发现没有了a5,多了a6,a2存在,b1也存在)
1) "mylist"
2) "a2"
3) "b222"
4) "key:__rand_int__"
5) "a6"
6) "b4"
7) "a3"
8) "b1"
9) "counter:__rand_int__"

-redis其他数据管理命令——dbsize

******dbsize——查看当前数据库中键的数量
[root@redis ~]# redis-cli 
127.0.0.1:6379> dbsize (查看数据库中所有键的数量)
(integer) 9
127.0.0.1:6379> keys * (查看所有键值发现有9个)
1) "mylist"
2) "a2"
3) "b222"
4) "key:__rand_int__"
5) "a6"
6) "b4"
7) "a3"
8) "b1"
9) "counter:__rand_int__"

-redis多数据常用命令

******redis默认的数据库有16个即0——15,即使用db 0 —— db 15来表示,默认连接的数据库为db 0
(1)select 数据库序号  ————切换到指定数据库
[root@redis ~]# redis-cli 
127.0.0.1:6379> SELECT 10     (切换到10号数据库)
OK
127.0.0.1:6379[10]> SELECT 15 (切换到15号数据库)
OK
127.0.0.1:6379[15]> SELECT 0  (切换到0号数据库)
OK
127.0.0.1:6379> 
(2)move 键名 数据库序号 ————移动当前数据库的指定键值到指定的数据库,返回1表示成功,返回0表示失败。
————————————————————————————注意——————————————————————————
如果移动的键名在目标数据库中存在,那么是无法移动成功的
——————————————————————————————————————————————————————————
[root@redis ~]# redis-cli 
127.0.0.1:6379> select 15   (切换到15号数据库)
OK
127.0.0.1:6379[15]> keys *  (查看当前数据库的所有键值,发现没有任何键值)
(empty list or set)
127.0.0.1:6379[15]> set aaa 1 (创建一个键名为aaa值为1的键值)
OK
127.0.0.1:6379[15]> keys *    (查看所有键值)
1) "aaa"
127.0.0.1:6379[15]> move aaa 10 (移动aaa这个键到10号数据库)
(integer) 1 (返回1说明移动成功)
127.0.0.1:6379[15]> keys *      (再次查看当前数据的所有键值,发现没有任何键值)
(empty list or set)
127.0.0.1:6379[15]> select 10   (切换到10号数据库)
OK
127.0.0.1:6379[10]> keys *      (查看当前数据库所有键值,发现多了aaa键)
1) "aaa"
127.0.0.1:6379[10]> SELECT 5    (切换到5号数据库)
OK
127.0.0.1:6379[5]> set aaa 1    (创建名为aaa的键值为1)
OK 
127.0.0.1:6379[5]> move aaa 10  (移动aaa键值到10号库)
(integer) 0 (返回0说明移动失败)
127.0.0.1:6379[5]> keys * (查看当前数据库的所有键,发现有一个aaa键值)
1) "aaa"
(3)flushdb ————清除当前数据库内所有数据
————————————————————————注意————————————————————————
执行flushdb会清空当前数据库的所有数据要谨慎使用
————————————————————————————————————————————————————
[root@redis ~]# redis-cli 
127.0.0.1:6379> select 10  (切换到10号数据库)
OK
127.0.0.1:6379[10]> keys * (查看所有键值)
1) "aaa"
127.0.0.1:6379[10]> flushdb (清除当前数据库内所有数据)
OK
127.0.0.1:6379[10]> keys *  (再次查看所有键值,发现什么都没有了)
(empty list or set)

三、redis实战——搭建redis群集


(1)redis群集原理


redis群集架构:


redis 群集采用虚拟槽分区,将所有的数据根据算法映射到0~16383整数槽中,并且是一个无中心的结构,每个节点都保存数据和整个群集的状态


群集角色


Master:Master之间分配虚拟槽slots

Slave:Slave向它指向的Master同步数据


群集节点使用的TCP端口


6379端口用于客户端的连接,16379端口用于群集总线


(2)搭建redis群集


为了节省资源,本次实验在单台服务器上搭建redis群集,通过不同的TCP端口去启动多个实例,模拟多台独立的redis服务器组成的群集


注意:至少需要六个实例也就是六个redis服务器才能组成群集,3主3从会自动分配

******本次实验思路为:在根目录下创建一个新目录,用于存放多实例配置文件,即使用多个redis主配置文件,但是每台实例的端口都不同,使用这六个主配置文件启动实例,并且搭建redis群集
******(1)首先先关闭redis服务器
[root@redis ~]# /etc/init.d/redis_6379 stop (关闭redis)
Stopping ...
Redis stopped
[root@redis ~]# netstat -anpt | grep redis (检查是否成功关闭)
******(2)创建新的群集目录,并且分别创建不同的redis目录
[root@redis ~]# mkdir -p /redis/{6001..6006} (这里利用6001——6006来区分多态实例)
[root@redis ~]# ll /redis/
总用量 0
drwxr-xr-x 2 root root 6 3月   8 01:42 6001
drwxr-xr-x 2 root root 6 3月   8 01:42 6002
drwxr-xr-x 2 root root 6 3月   8 01:42 6003
drwxr-xr-x 2 root root 6 3月   8 01:42 6004
drwxr-xr-x 2 root root 6 3月   8 01:42 6005
drwxr-xr-x 2 root root 6 3月   8 01:42 6006
******(3)复制多个主配置文件
[root@redis ~]# cat /usr/src/redis-3.2.9/redis.conf | grep -v "^#"| grep -v "^$" > redis.conf (先保存一份当家目录)
[root@redis ~]# vim redis.conf (修改为:也可以之间复制,修改的行分别为1、3、7、9、11、20、35、36、37)
bind 192.168.100.7  #根据实际情况去修改ip地址,群集节点间必须可以进行正常通信,网络层面需要开启相应端口的访问权限
protected-mode yes
port 6001           #修改端口号
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes  #运行redis在后台运行
supervised no
pidfile /var/run/redis_6001.pid  #修改pid文件,每个实例都要修改成指定的
loglevel notice
logfile "/redis/6001/redis_6001.log"  #修改日志文件,每个实例都要修改成指定的
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /redis/6001 #每个实例要修改成对应的目录
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
cluster-enabled yes  #开启群集
cluster-config-file nodes-6001.conf #群集配置文件,每个实例都要有相对应的配置文件
cluster-node-timeout 15000  #请求超时时长,默认15秒,根据实际情况修改
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
保存退出
[root@redis ~]# cp redis.conf /redis/6001(依次复制文件到各个实例的目录)
[root@redis ~]# cp redis.conf /redis/6002
[root@redis ~]# cp redis.conf /redis/6003
[root@redis ~]# cp redis.conf /redis/6004
[root@redis ~]# cp redis.conf /redis/6005
[root@redis ~]# cp redis.conf /redis/6006
[root@redis ~]# sed -i 's/6001/6002/g' /redis/6002/redis.conf  (使用sed替换配置文件中的6001为各个实例的端口号)
[root@redis ~]# sed -i 's/6001/6003/g' /redis/6003/redis.conf 
[root@redis ~]# sed -i 's/6001/6004/g' /redis/6004/redis.conf 
[root@redis ~]# sed -i 's/6001/6005/g' /redis/6005/redis.conf 
[root@redis ~]# sed -i 's/6001/6006/g' /redis/6006/redis.conf 
******(4)启动各个实例
[root@redis ~]# redis-server /redis/6001/redis.conf  (依次使用redis-server启动各个实例)
[root@redis ~]# redis-server /redis/6002/redis.conf 
[root@redis ~]# redis-server /redis/6003/redis.conf 
[root@redis ~]# redis-server /redis/6004/redis.conf 
[root@redis ~]# redis-server /redis/6005/redis.conf 
[root@redis ~]# redis-server /redis/6006/redis.conf 
[root@redis ~]# netstat -anpt | grep redis (检查端口,确定各个实例都已经正常启动)
tcp        0      0 192.168.100.7:6001      0.0.0.0:*               LISTEN      1461/redis-server 1 
tcp        0      0 192.168.100.7:6002      0.0.0.0:*               LISTEN      1465/redis-server 1 
tcp        0      0 192.168.100.7:6003      0.0.0.0:*               LISTEN      1470/redis-server 1 
tcp        0      0 192.168.100.7:6004      0.0.0.0:*               LISTEN      1474/redis-server 1 
tcp        0      0 192.168.100.7:6005      0.0.0.0:*               LISTEN      1478/redis-server 1 
tcp        0      0 192.168.100.7:6006      0.0.0.0:*               LISTEN      1482/redis-server 1 
tcp        0      0 192.168.100.7:16001     0.0.0.0:*               LISTEN      1461/redis-server 1 
tcp        0      0 192.168.100.7:16002     0.0.0.0:*               LISTEN      1465/redis-server 1 
tcp        0      0 192.168.100.7:16003     0.0.0.0:*               LISTEN      1470/redis-server 1 
tcp        0      0 192.168.100.7:16004     0.0.0.0:*               LISTEN      1474/redis-server 1 
tcp        0      0 192.168.100.7:16005     0.0.0.0:*               LISTEN      1478/redis-server 1 
tcp        0      0 192.168.100.7:16006     0.0.0.0:*               LISTEN      1482/redis-server 1 
至此redis群集搭建完成!!!

(3)配置Ruby环境-redis-trib.rb脚本


因为redis3.0之后开始支持群集功能,官方退出了一个管理集群的工具,一个Ruby脚本————redis-trib.rb


该脚本集成在redis的源码SRC目录下,所以需要系统安装配置ruby环境,才可以使用该脚本进行redis群集的创建、配置和管理。

******(1)安装ruby工具
[root@redis ~]# yum -y install ruby rubygems
。。。。。。
完毕!
******(2)上传文件,使用脚本安装redis群集
[root@redis ~]# ll
总用量 1596
-rw-------. 1 root root    1220 9月   3 2020 anaconda-ks.cfg
-rw-r--r--  1 root root      76 3月   8 01:50 dump.rdb
-rw-r--r--  1 root root   71168 3月   8 02:20 redis-3.2.0.gem
-rw-r--r--  1 root root 1547695 3月   7 06:01 redis-3.2.9.tar.gz
-rw-r--r--  1 root root    1293 3月   8 01:57 redis.conf
[root@redis ~]# gem install redis --version 3.2.0 (安装)
Successfully installed redis-3.2.0
Parsing documentation for redis-3.2.0
Installing ri documentation for redis-3.2.0
1 gem installed
[root@redis ~]# cd /usr/src/redis-3.2.9/src/ (安装完成后会发现/usr/src下多了一个redis目录)
[root@redis src]# ./redis-trib.rb create --replicas 1 192.168.100.7:6001 192.168.100.7:6002 192.168.100.7:6003 192.168.100.7:6004 192.168.100.7:6005 192.168.100.7:6006 (使用脚本安装redis群集,1就是nodeid号)
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.100.7:6001
192.168.100.7:6002
192.168.100.7:6003
Adding replica 192.168.100.7:6004 to 192.168.100.7:6001
Adding replica 192.168.100.7:6005 to 192.168.100.7:6002
Adding replica 192.168.100.7:6006 to 192.168.100.7:6003
M: 86e8a7f5a7c6aa465ee8d20b8a9be340f2fc51b7 192.168.100.7:6001
   slots:0-5460 (5461 slots) master
M: 536694c3cb5084ca424fd8c5f7b39591e5f7dac0 192.168.100.7:6002
   slots:5461-10922 (5462 slots) master
M: c3df16a5c876eca9dc4b409e1a17fa7295c0f88d 192.168.100.7:6003
   slots:10923-16383 (5461 slots) master
S: c3b870daf4dc533c8483b40ea08dde38def5f753 192.168.100.7:6004
   replicates 86e8a7f5a7c6aa465ee8d20b8a9be340f2fc51b7
S: 065d7fbb560dd8cda9a493400eda463bdb1e2e97 192.168.100.7:6005
   replicates 536694c3cb5084ca424fd8c5f7b39591e5f7dac0
S: 3d3d404951283622d56ae045350a04d831825782 192.168.100.7:6006
   replicates c3df16a5c876eca9dc4b409e1a17fa7295c0f88d
Can I set the above configuration? (type 'yes' to accept): yes (输入yes)
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.....
>>> Performing Cluster Check (using node 192.168.100.7:6001)
M: 86e8a7f5a7c6aa465ee8d20b8a9be340f2fc51b7 192.168.100.7:6001
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
S: c3b870daf4dc533c8483b40ea08dde38def5f753 192.168.100.7:6004
   slots: (0 slots) slave
   replicates 86e8a7f5a7c6aa465ee8d20b8a9be340f2fc51b7
S: 065d7fbb560dd8cda9a493400eda463bdb1e2e97 192.168.100.7:6005
   slots: (0 slots) slave
   replicates 536694c3cb5084ca424fd8c5f7b39591e5f7dac0
M: 536694c3cb5084ca424fd8c5f7b39591e5f7dac0 192.168.100.7:6002
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
M: c3df16a5c876eca9dc4b409e1a17fa7295c0f88d 192.168.100.7:6003
   slots:10923-16383 (5461 slots) master
   1 additional replica(s)
S: 3d3d404951283622d56ae045350a04d831825782 192.168.100.7:6006
   slots: (0 slots) slave
   replicates c3df16a5c876eca9dc4b409e1a17fa7295c0f88d
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
******(3)查看群集状态
[root@redis src]# ./redis-trib.rb check 192.168.100.7:6001 (查看群集状态)
>>> Performing Cluster Check (using node 192.168.100.7:6001)
M: 86e8a7f5a7c6aa465ee8d20b8a9be340f2fc51b7 192.168.100.7:6001
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
S: c3b870daf4dc533c8483b40ea08dde38def5f753 192.168.100.7:6004
   slots: (0 slots) slave
   replicates 86e8a7f5a7c6aa465ee8d20b8a9be340f2fc51b7
S: 065d7fbb560dd8cda9a493400eda463bdb1e2e97 192.168.100.7:6005
   slots: (0 slots) slave
   replicates 536694c3cb5084ca424fd8c5f7b39591e5f7dac0
M: 536694c3cb5084ca424fd8c5f7b39591e5f7dac0 192.168.100.7:6002
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
M: c3df16a5c876eca9dc4b409e1a17fa7295c0f88d 192.168.100.7:6003
   slots:10923-16383 (5461 slots) master
   1 additional replica(s)
S: 3d3d404951283622d56ae045350a04d831825782 192.168.100.7:6006
   slots: (0 slots) slave
   replicates c3df16a5c876eca9dc4b409e1a17fa7295c0f88d
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

(4)测试

******(1)登录redis群集,进行键值测试
-h:主机
-p:端口
-c:激活群集模式
[root@redis src]# redis-cli -h 192.168.100.7 -p 6001 -c
192.168.100.7:6001> set aaa 111 
-> Redirected to slot [10439] located at 192.168.100.7:6002
OK
192.168.100.7:6002> get aaa
"111"
192.168.100.7:6002> exit

(5)结论


通过这次实验我们可以得知,登录群集的任意一个实例创建键值时,会重定向到其他的服务器上,是按照slot槽点进行分配的


四、扩展——trib.rb脚本的使用


[root@redis ~]# cd /usr/src/redis-3.2.9/src/
[root@redis src]# ./redis-trib.rb help (下列选项使用格式为./redis-trib.rb 选项)
Usage: redis-trib <command> <options> <arguments ...>
  create          host1:port1 ... hostN:portN   ——(创建群集,格式为 主机地址:端口号)
                  --replicas <arg>              ——(replicas参数指定当前创建的redis群集有几个slave节点)
  check           host:port                     ——(检查群集,验证节点是否可用,格式为: 主机地址:端口号)
  info            host:port                     ——(查看群集信息,节点信息,格式为: 主机地址:端口号)
  fix             host:port                     ——(修复群集,格式为: 主机地址:端口号)
                  --timeout <arg>
  reshard         host:port                     ——(在线迁移群集,格式为: form 主机地址:端口号 to 主机地址:端口号 )
                  --from <arg>
                  --to <arg>
                  --slots <arg>
                  --yes
                  --timeout <arg>
                  --pipeline <arg>
  rebalance       host:port                     ——(平衡群集节点的槽点数量,格式为: 主机地址:端口号)
                  --weight <arg>
                  --auto-weights
                  --use-empty-masters
                  --timeout <arg>
                  --simulate
                  --pipeline <arg>
                  --threshold <arg>
  add-node        new_host:new_port existing_host:existing_port ——(在线添加新的群集节点,格式为: 新的主机地址:新的端口号 现有的主机地址:现有的端口号)
                  --slave
                  --master-id <arg>
  del-node        host:port node_id                    ——(在线删除群集节点,格式为: 主机地址:端口号 nodeid号)
  set-timeout     host:port milliseconds               ——(redis群集节点心跳超时设置,默认为15秒,格式为: 主机地址:端口号 指定的超时时间单位是毫秒)
  call            host:port command arg arg .. arg     ——(使命令在所有节点一起执行,谨慎使用)
  import          host:port                            ——(将外部redis节点数据导入群集中)
                  --from <arg>
                  --copy
                  --replace
  help            (show this help)                     ——(显示脚本使用帮助)
For check, fix, reshard, del-node, set-timeout you can specify the host and port of any working node in the cluster.

如果本文章有不对的地方,请在评论区留言,谢谢!!~


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
目录
相关文章
|
5月前
|
存储 NoSQL Redis
阿里云高性能数据库Tair(兼容 Redis)收费价格,稳定可靠成本低
阿里云高性能云数据库Tair兼容Redis,提供Redis开源版和Tair企业版,支持多种存储介质与灵活扩展,适用于高并发场景。Tair具备亚毫秒级稳定延迟,保障业务连续性。价格方面,Redis开源版年费从72元起,Tair企业版年费从1224元起,具体费用根据配置不同有所变化。
|
7月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
4月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
643 5
|
5月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
589 7
|
10月前
|
Ubuntu 关系型数据库 Linux
Linux数据库安装
本文介绍了在CentOS 8.0和Ubuntu 22.04系统上安装、配置和启动MariaDB数据库服务器的详细步骤。包括通过`yum`和`apt`包管理器安装MariaDB服务,启动并检查服务运行状态,设置root用户密码以及连接数据库的基本操作。此外,还展示了如何在Ubuntu上更新软件包列表、安装依赖项,并验证MariaDB的版本和运行状态。通过这些步骤,用户可以成功部署并初始化MariaDB环境,为后续数据库管理与应用开发奠定基础。
533 61
|
9月前
|
SQL 关系型数据库 MySQL
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
这是一份详细的MySQL安装与配置教程,适合初学者快速上手。内容涵盖从下载到安装的每一步操作,包括选择版本、设置路径、配置端口及密码等。同时提供基础操作指南,如数据库管理、数据表增删改查、用户权限设置等。还介绍了备份恢复、图形化工具使用和性能优化技巧,帮助用户全面掌握MySQL的使用方法。附带常见问题解决方法,保姆级教学让你无忧入门!
1205 21
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
|
9月前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
983 16
|
9月前
|
JSON NoSQL Redis
在Rocky9系统上安装并使用redis-dump和redis-load命令的指南
以上步骤是在Rocky9上使用redis-dump和redis-load命令顺利出行的秘籍。如果在实行的过程中,发现了新的冒险和挑战,那么就像一个勇敢的航海家,本着探索未知的决心,解决问题并前进。
309 14
|
存储 缓存 负载均衡
学会这15点,让你分分钟拿下Redis数据库
介绍Redis技术入门的一些基础知识点
学会这15点,让你分分钟拿下Redis数据库
|
存储 NoSQL 数据库
学会这15点,让你分分钟拿下Redis数据库
原文:学会这15点,让你分分钟拿下Redis数据库 1、Redis简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
1302 0