摘要:數(shù)據(jù)過(guò)期處理可以精確到毫秒的安裝及部署部署環(huán)境需要系統(tǒng),同樣也有版本,可以練習(xí)使用。官方不典型支持。關(guān)閉進(jìn)程正常關(guān)閉服務(wù)的地址端口號(hào)如果是本地服務(wù),而且端口是這些參數(shù)可以省略。命令可以設(shè)置的有效期。修改端口,允許集群。
NoSql數(shù)據(jù)庫(kù)之Redis
1、什么是nosql,nosql的應(yīng)用場(chǎng)景
2、Nonsql數(shù)據(jù)庫(kù)的類型
a) Key-value
b) 文檔型(類似于json)
c) 列式存儲(chǔ)
d) 圖式
3、redis的相關(guān)概念kv型的。
4、Redis的安裝及部署
5、Redis的使用方法及數(shù)據(jù)類型
a) Redis啟動(dòng)及關(guān)閉
b) Redis的數(shù)據(jù)類型
i. String類型
ii. Hash類型
iii. List類型
iv. Set類型
v. SortedSet(zset)
6、redis數(shù)據(jù)庫(kù)的持久化
a) Rdb快照形式
b) Aof命令形式
7、主從復(fù)制
8、Redis集群
2 什么是nosql
2.1 nosql
Nosql=Not only sql,非關(guān)系型數(shù)據(jù)庫(kù)。
Web1.0:內(nèi)容輸出型網(wǎng)站。類似于搜狐、網(wǎng)頁(yè)、新浪。
Web2.0:交互型的網(wǎng)站。例如人人網(wǎng)、微博等。
關(guān)系型數(shù)據(jù)庫(kù)遇到的問題:
1、High performance - 對(duì)數(shù)據(jù)庫(kù)高并發(fā)讀寫的需求
2、大數(shù)據(jù)量存儲(chǔ)。
3、High Scalability && High Availability- 對(duì)數(shù)據(jù)庫(kù)的高可擴(kuò)展性和高可用性的需求
此時(shí)nosql數(shù)據(jù)出現(xiàn)了。
2.2 Nosql數(shù)據(jù)庫(kù)的類型
1、key-value類型。常用的就是redis。可以用作緩存使用。
2、文檔型。Mongodb。存儲(chǔ)的是類似于json的數(shù)據(jù)bson。
3、列式存儲(chǔ)。Hbase。基于hadoop的數(shù)據(jù)庫(kù)。
4、圖式存儲(chǔ)。典型應(yīng)用:社交網(wǎng)絡(luò)
3 Redis的相關(guān)概念
3.1 什么是redis
Redis是用C語(yǔ)言開發(fā)的一個(gè)開源的高性能鍵值對(duì)(key-value)數(shù)據(jù)庫(kù)。它通過(guò)提供多種鍵值數(shù)據(jù)類型來(lái)適應(yīng)不同場(chǎng)景下的存儲(chǔ)需求,目前為止Redis支持的鍵值數(shù)據(jù)類型如
下:
字符串類型
散列類型
列表類型
集合類型
有序集合類型。
3.2 Redis的應(yīng)用場(chǎng)景
緩存(數(shù)據(jù)查詢、短連接、新聞內(nèi)容、商品內(nèi)容等等)。(最多使用)
分布式集群架構(gòu)中的session分離。
聊天室的在線好友列表。
任務(wù)隊(duì)列。(秒殺、搶購(gòu)、12306等等)
應(yīng)用排行榜。
網(wǎng)站訪問統(tǒng)計(jì)。
數(shù)據(jù)過(guò)期處理(可以精確到毫秒)
4 Redis的安裝及部署
4.1 Redis部署環(huán)境
需要linux系統(tǒng),centos6.4
Redis同樣也有windows版本,可以練習(xí)使用。官方不典型支持。推薦使用linux版本。
需要gcc的開發(fā)環(huán)境。
4.2 Redis的下載
http://redis.io/
在這里插入圖片描述
最新版本:3.0.3
本課程的版本:3.0.0
在這里插入圖片描述
是一個(gè)redis的源碼包,c語(yǔ)言開發(fā)的。
4.3 安裝步驟
第一步:安裝linux虛擬機(jī)。Centos6.4(32位)
第二步:把源碼包上傳到服務(wù)器。
第三步:解壓源碼包。
tar -zxvf redis-3.0.0.tar.gz
第四步:編譯源碼,需要gcc的環(huán)境。如果沒有就安裝一個(gè),需要聯(lián)網(wǎng)。
安裝gcc:yum install gcc-c++
編譯源碼:進(jìn)入源碼目錄,make。
第五步:安裝
make install PREFIX=/usr/local/redis
PREFIX:指定安裝目錄
在這里插入圖片描述
4.4 啟動(dòng)和關(guān)閉
4.4.1 前端啟動(dòng)模式
在bin 目錄下執(zhí)行:
./redis-server
在這里插入圖片描述
4.4.2 后端啟動(dòng)模式
需要redis.conf配置文件:
在這里插入圖片描述把此文件復(fù)制到redis的目錄。
修改redis.conf文件:daemonize yes(默認(rèn)是no)
啟動(dòng):
./redis-server redis.conf
需要指定一個(gè)配置文件。
4.4.3 關(guān)閉redis
1、kill進(jìn)程
2、正常關(guān)閉
./redis-cli -h 192.168.25.147 -p 6379 shutdown
-h:服務(wù)的ip地址
-p:端口號(hào)
如果是本地服務(wù),而且端口是6379這些參數(shù)可以省略。
4.5 Redis的客戶端
4.5.1 Redis自帶客戶端:redis-cli
簡(jiǎn)單命令:
Ping:測(cè)試服務(wù)器是否還活著。
Set:命令,添加一個(gè)key
Set key value
例子:
127.0.0.1:6379> set key1 100
OK
Get命令,取一個(gè)key的值
Get key
例子:
127.0.0.1:6379> get key1
“100”
4.5.2 Java的客戶端Jedis
如果遠(yuǎn)程連接失敗,查看linux 的防火墻是否開放redis的服務(wù)端口。
第一種方法:關(guān)閉防火墻:
service iptables stop
第二種方法:修改配置文件開放指定端口。
第一步:修改:
vim /etc/sysconfig/iptables
在這里插入圖片描述第二步:重啟防火墻服務(wù)
[root@localhost ~]# service iptables restart
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
4.6 圖像客戶端
在這里插入圖片描述
Redis中默認(rèn)有16個(gè)數(shù)據(jù)庫(kù)。0-15號(hào)。默認(rèn)操作0號(hào)庫(kù)。
使用命令切換數(shù)據(jù)庫(kù):
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> select 16
(error) ERR invalid DB index
127.0.0.1:6379> select 15
OK
127.0.0.1:6379[15]>
庫(kù)和庫(kù)之間相互隔離,不同的庫(kù)中可以有相同的key。
數(shù)據(jù)庫(kù)的數(shù)量在redis.conf中配置:
在這里插入圖片描述
5 Redis中的數(shù)據(jù)類型
5.1 String類型
基礎(chǔ)數(shù)據(jù)類型。在redis中所有的值都是字符串。在redis中命令不區(qū)分大小寫。
1、set命令:添加一個(gè)key
2、get命令:取一個(gè)key
3、Incr命令:加一命令。如果key的值是數(shù)值類型可以使用此命令。
127.0.0.1:6379> incr a
(integer) 101
4、decr命令:減一命令
127.0.0.1:6379> decr a
(integer) 100
5、del命令:刪除key
127.0.0.1:6379> del a
(integer) 1
127.0.0.1:6379> get a
(nil)
5.2 Hash類型
Key-value(hash)-key-value
|-key-value
|-key-value
命令:
1、Hset命令:添加一個(gè)key
Hset key hashkey value
127.0.0.1:6379> hset hash1 a 1
(integer) 1
2、hmset:批量添加key
Hmset key hkey1 value hkey2 value hkey3 value …
127.0.0.1:6379> hmset hash2 a 1 b 2 c 3 d 4
OK
3、hget命令:取一個(gè)hash key
127.0.0.1:6379> hget hash1 a
“1”
4、hmget命令:取多個(gè)hash key
127.0.0.1:6379> hmget hash2 a b c
“1” “2” “3” 4、自增命令:hincrby 127.0.0.1:6379> hmget hash2 a b c “1” “2” “3” 127.0.0.1:6379> hincrby hash2 a 10 (integer) 11
5.3 List類型
Redis中是鏈表形式的存儲(chǔ)。
可以當(dāng)做隊(duì)列使用,也可以當(dāng)做棧使用。
1、在左邊添加元素:lpush
Lpush key value1 value2 value3
127.0.0.1:6379> lpush list1 a b c d e f
(integer) 6
127.0.0.1:6379>
2、右邊添加元素:rpush
127.0.0.1:6379> rpush list1 1 2 3 4 5
(integer) 11
在這里插入圖片描述3、取最左邊元素:lpop,取完列表中此元素刪除。
127.0.0.1:6379> lpop list1
“f”
4、取最右元素:rpop
127.0.0.1:6379> rpop list1
“5”
127.0.0.1:6379>
5、查看列表中的元素:lrange
Lrange key 起始下標(biāo) 結(jié)束下標(biāo)(取全部的結(jié)束下標(biāo)就是-1)
127.0.0.1:6379> lrange list1 0 3
“e” “d” “c” “b” 127.0.0.1:6379> lrange list1 0 -1 “e” “d” “c” “b” “a” “1” “2” “3” “4” 127.0.0.1:6379>
5.4 Set類型
特點(diǎn):集合中的元素是無(wú)序的并且沒有重復(fù)的。
5.4.1 命令
1、向集合中添加元素:sadd
Sadd key value1 value2 value3 …
127.0.0.1:6379> sadd set1 a b c d e
(integer) 5
2、刪除元素:srem
Srem key value
127.0.0.1:6379> srem set1 a
(integer) 1
3、查看集合中的元素:smembers
Smembers key
127.0.0.1:6379> smembers set1
“c” “d” “b” “e” 127.0.0.1:6379>
5.4.2 集合的運(yùn)算
1、差集運(yùn)算
屬于A并且不屬于B的元素構(gòu)成的集合。
在這里插入圖片描述SDIFF key [key …]
127.0.0.1:6379> sadd seta a b c d e
(integer) 5
127.0.0.1:6379> sadd setb c d e f g
(integer) 5
127.0.0.1:6379> sdiff seta setb
“a” “b” 2、交集運(yùn)算 屬于A且屬于B的元素構(gòu)成的集合。
在這里插入圖片描述SINTER key [key …]
127.0.0.1:6379> sinter seta setb
“c” “d” “e” 127.0.0.1:6379>
5.4.3 并集運(yùn)算
屬于A或者屬于B的元素構(gòu)成的集合
在這里插入圖片描述
SUNION key [key …]
127.0.0.1:6379> sunion seta setb
“c” “d” “b” “a” “f” “e” “g”
5.5 SortedSet類型(zset)
特點(diǎn)集合但是是有序的。在此集合中每個(gè)元素都有一個(gè)分?jǐn)?shù),可以根據(jù)分?jǐn)?shù)升序排列。
5.5.1 命令
1、添加元素命令:zadd
Zadd key 得分 元素 得分 元素 。。。。。
127.0.0.1:6379> zadd zset1 1 a 2 b 3 c 4 d
(integer) 4
2、刪除元素:zrem
127.0.0.1:6379> zrem zset1 a
(integer) 1
3、查看計(jì)劃中的元素:zrange
Zrange key 起始下標(biāo) 結(jié)束下標(biāo)(-1全部)withscores(帶分?jǐn)?shù))
127.0.0.1:6379> zrange zset1 0 -1
“b” “c” “d” 127.0.0.1:6379> zrange zset1 0 -1 withscores “b” “2” “c” “3” “d” “4” 4、降序排列:zrevrange 127.0.0.1:6379> zrevrange zset1 0 -1 withscores “d” “4” “c” “3” “b” “2”
適用于應(yīng)用排行榜。
6 Keys命令
6.1 可以設(shè)置key的有效期。
1、設(shè)置有效期:expire
Expire key 生存期(以秒為單位)
127.0.0.1:6379> set a 100
OK
127.0.0.1:6379> expire a 30
(integer) 1
2、查看key的生存期
Ttl key
-1:永久
-2:key不存在
3、持久化keypersist,可以把key持久化保存
127.0.0.1:6379> persist a
(integer) 1
6.2 其他keys命令
Keys命令,可以查看數(shù)據(jù)庫(kù)中所有的可以列表。
127.0.0.1:6379> keys *
“l(fā)ist1” “zset1” “a” “hash2” “key1” “setb” “seta” “l(fā)ist” “hash1” “hello” “set1”
7 Redis的持久化
兩種方案:
1、快照形式RDB形式。(默認(rèn)開啟)
2、Aof形式。命令形式存儲(chǔ)。(需要手動(dòng)開啟)
Rdb:速度快。丟失數(shù)據(jù)的概率大。
Aof:默認(rèn)每秒鐘保存一次命令。性能低,可靠性高。最多丟失一秒的數(shù)據(jù)。
需要在redis.conf中配置。
Rdb:
在這里插入圖片描述
Aof方案:(append only file)
在這里插入圖片描述
兩種方案同時(shí)開啟,使用aof恢復(fù)數(shù)據(jù)。
8 主從復(fù)制
只需要修改redis.conf文件就可以。
需要配置兩個(gè)虛擬機(jī),如果不能實(shí)現(xiàn),至少需要兩個(gè)數(shù)據(jù)庫(kù)實(shí)例。
第一步:創(chuàng)建slave服務(wù)器的實(shí)例。
1、把redis的bin目錄復(fù)制一份。
2、修改redis.conf文件。修改端口號(hào)。
在這里插入圖片描述第二步:配置從服務(wù)器,主服務(wù)器不需要做任何修改。修改從服務(wù)器的redis.conf文件。
在這里插入圖片描述第三步:?jiǎn)?dòng)從服務(wù)器
9 redis集群
9.1 集群架構(gòu)圖
在這里插入圖片描述
9.2 集群中的槽slot
槽是用來(lái)存儲(chǔ)key。
9.3 redis-cluster投票:容錯(cuò)
在這里插入圖片描述
(1)領(lǐng)著投票過(guò)程是集群中所有master參與,如果半數(shù)以上master節(jié)點(diǎn)與master節(jié)點(diǎn)通信超過(guò)(cluster-node-timeout),認(rèn)為當(dāng)前master節(jié)點(diǎn)掛掉.
(2):什么時(shí)候整個(gè)集群不可用(cluster_state:fail)?
a:如果集群任意master掛掉,且當(dāng)前master沒有slave.集群進(jìn)入fail狀態(tài),也可以理解成集群的slot映射[0-16383]不完成時(shí)進(jìn)入fail狀態(tài). ps : redis-3.0.0.rc1加入cluster-require-full-coverage參數(shù),默認(rèn)關(guān)閉,打開集群兼容部分失敗.
b:如果集群超過(guò)半數(shù)以上master掛掉,無(wú)論是否有slave集群進(jìn)入fail狀態(tài).
ps:當(dāng)集群不可用時(shí),所有對(duì)集群的操作做都不可用,收到((error) CLUSTERDOWN The cluster is down)錯(cuò)誤
9.4 安裝步驟
第一步:需要6臺(tái)虛擬機(jī)。至少需要6個(gè)redis實(shí)例。
在這里插入圖片描述第二步:修改每個(gè)實(shí)例的端口7001~7006。需要修改redis.conf文件。
第三步:安裝ruby環(huán)境
安裝ruby
yum install ruby
yum install rubygems
安裝ruby和redis的接口程序
拷貝redis-3.0.0.gem至/usr/local下
執(zhí)行:
gem install /usr/local/redis-3.0.0.gem
第四步:在/root/redis-3.0.0/src目錄下有一個(gè)redis-trib.rb文件就是一個(gè)ruby的腳本文件,是用來(lái)創(chuàng)建redis集群的腳本文件。把此文件復(fù)制到/usr/local/redis-cluster目錄下。
第五步:修改每個(gè)實(shí)例的redis.conf文件。
在這里插入圖片描述第六步:?jiǎn)?dòng)每個(gè)實(shí)例。
在這里插入圖片描述第七步:使用redis-trib.rb腳本創(chuàng)建集群。
./redis-trib.rb create --replicas 1 192.168.25.147:7001 192.168.25.147:7002 192.168.25.147:7003 192.168.25.147:7004 192.168.25.147:7005 192.168.25.147:7006
[root@localhost redis-cluster]# ./redis-trib.rb create --replicas 1 192.168.25.147:7001 192.168.25.147:7002 192.168.25.147:7003 192.168.25.147:7004 192.168.25.147:7005 192.168.25.147:7006
Creating cluster Connecting to node 192.168.25.147:7001: OK Connecting to node 192.168.25.147:7002: OK Connecting to node 192.168.25.147:7003: OK Connecting to node 192.168.25.147:7004: OK Connecting to node 192.168.25.147:7005: OK Connecting to node 192.168.25.147:7006: OK Performing hash slots allocation on 6 nodes… Using 3 masters: 192.168.25.147:7001 192.168.25.147:7002 192.168.25.147:7003 Adding replica 192.168.25.147:7004 to 192.168.25.147:7001 Adding replica 192.168.25.147:7005 to 192.168.25.147:7002 Adding replica 192.168.25.147:7006 to 192.168.25.147:7003 M: a96e224fe9aa5667a908a721c18aeeb78c0e628d 192.168.25.147:7001 slots:0-5460 (5461 slots) master M: 22f03de15a3fd7260f5efa83539a342b94f07032 192.168.25.147:7002 slots:5461-10922 (5462 slots) master M: 75ccb72ea57cce1fbd951117c021d385f126b894 192.168.25.147:7003 slots:10923-16383 (5461 slots) master S: 2525654870fee9fa3a06d96c08f39e5c0912afea 192.168.25.147:7004 replicates a96e224fe9aa5667a908a721c18aeeb78c0e628d S: f153fb80c15168d6701d7ef2b5fddaff2f82ffef 192.168.25.147:7005 replicates 22f03de15a3fd7260f5efa83539a342b94f07032 S: 6d6565162bd0550f29fff20fe52ea6178f748fa1 192.168.25.147:7006 replicates 75ccb72ea57cce1fbd951117c021d385f126b894 Can I set the above configuration? (type ‘yes’ to accept): 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.25.147:7001) M: a96e224fe9aa5667a908a721c18aeeb78c0e628d 192.168.25.147:7001 slots:0-5460 (5461 slots) master M: 22f03de15a3fd7260f5efa83539a342b94f07032 192.168.25.147:7002 slots:5461-10922 (5462 slots) master M: 75ccb72ea57cce1fbd951117c021d385f126b894 192.168.25.147:7003 slots:10923-16383 (5461 slots) master M: 2525654870fee9fa3a06d96c08f39e5c0912afea 192.168.25.147:7004 slots: (0 slots) master replicates a96e224fe9aa5667a908a721c18aeeb78c0e628d M: f153fb80c15168d6701d7ef2b5fddaff2f82ffef 192.168.25.147:7005 slots: (0 slots) master replicates 22f03de15a3fd7260f5efa83539a342b94f07032 M: 6d6565162bd0550f29fff20fe52ea6178f748fa1 192.168.25.147:7006 slots: (0 slots) master replicates 75ccb72ea57cce1fbd951117c021d385f126b894 [OK] All nodes agree about slots configuration. Check for open slots… Check slots coverage… [OK] All 16384 slots covered. [root@localhost redis-cluster]#
9.5 連接集群
9.5.1 使用redis-cli連接集群
redis01/redis-cli -p 7005 -c
連接集群必須添加-c參數(shù)。
9.5.2 查看集群信息
192.168.25.147:7003> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:3
cluster_stats_messages_sent:827
cluster_stats_messages_received:827
9.5.3 查看集群節(jié)點(diǎn)狀態(tài)
192.168.25.147:7003> cluster nodes
22f03de15a3fd7260f5efa83539a342b94f07032 192.168.25.147:7002 master - 0 1438330186924 2 connected 5461-10922
6d6565162bd0550f29fff20fe52ea6178f748fa1 192.168.25.147:7006 slave 75ccb72ea57cce1fbd951117c021d385f126b894 0 1438330185914 6 connected
f153fb80c15168d6701d7ef2b5fddaff2f82ffef 192.168.25.147:7005 slave 22f03de15a3fd7260f5efa83539a342b94f07032 0 1438330186420 5 connected
a96e224fe9aa5667a908a721c18aeeb78c0e628d 192.168.25.147:7001 master - 0 1438330188440 1 connected 0-5460
75ccb72ea57cce1fbd951117c021d385f126b894 192.168.25.147:7003 myself,master - 0 0 3 connected 10923-16383
2525654870fee9fa3a06d96c08f39e5c0912afea 192.168.25.147:7004 slave a96e224fe9aa5667a908a721c18aeeb78c0e628d 0 1438330187431 1 connected
9.6 添加節(jié)點(diǎn)
9.6.1 第一步:
創(chuàng)建一個(gè)新的redis實(shí)例,如果文件中存在nodes.conf,需要?jiǎng)h除。
9.6.2 第二步:
修改redis.conf文件。修改端口,允許集群。
9.6.3 第三步:
啟動(dòng)服務(wù)器
9.6.4 第四步:
使用redis-trib.rb向集群添加節(jié)點(diǎn)。
[root@localhost redis-cluster]# ./redis-trib.rb add-node 192.168.25.147:7007 192.168.25.147:7001
Adding node 192.168.25.147:7007 to cluster 192.168.25.147:7001 Connecting to node 192.168.25.147:7001: OK Connecting to node 192.168.25.147:7006: OK Connecting to node 192.168.25.147:7002: OK Connecting to node 192.168.25.147:7003: OK Connecting to node 192.168.25.147:7005: OK Connecting to node 192.168.25.147:7004: OK Performing Cluster Check (using node 192.168.25.147:7001) M: a96e224fe9aa5667a908a721c18aeeb78c0e628d 192.168.25.147:7001 slots:0-5460 (5461 slots) master 1 additional replica(s) S: 6d6565162bd0550f29fff20fe52ea6178f748fa1 192.168.25.147:7006 slots: (0 slots) slave replicates 75ccb72ea57cce1fbd951117c021d385f126b894 M: 22f03de15a3fd7260f5efa83539a342b94f07032 192.168.25.147:7002 slots:5461-10922 (5462 slots) master 1 additional replica(s) M: 75ccb72ea57cce1fbd951117c021d385f126b894 192.168.25.147:7003 slots:10923-16383 (5461 slots) master 1 additional replica(s) S: f153fb80c15168d6701d7ef2b5fddaff2f82ffef 192.168.25.147:7005 slots: (0 slots) slave replicates 22f03de15a3fd7260f5efa83539a342b94f07032 S: 2525654870fee9fa3a06d96c08f39e5c0912afea 192.168.25.147:7004 slots: (0 slots) slave replicates a96e224fe9aa5667a908a721c18aeeb78c0e628d [OK] All nodes agree about slots configuration. Check for open slots… Check slots coverage… [OK] All 16384 slots covered. Connecting to node 192.168.25.147:7007: OK Send CLUSTER MEET to node 192.168.25.147:7007 to make it join the cluster. [OK] New node added correctly.
9.6.5 第五步:分配槽。
添加完主節(jié)點(diǎn)需要對(duì)主節(jié)點(diǎn)進(jìn)行hash槽分配這樣該主節(jié)才可以存儲(chǔ)數(shù)據(jù)。
redis集群有16384個(gè)槽,集群中的每個(gè)結(jié)點(diǎn)分配自已槽,通過(guò)查看集群結(jié)點(diǎn)可以看到槽占用情況。
在這里插入圖片描述
給剛添加的7007結(jié)點(diǎn)分配槽:
1:連接上集群
./redis-trib.rb reshard 192.168.101.3:7001(連接集群中任意一個(gè)可用結(jié)點(diǎn)都行)
2:輸入要分配的槽數(shù)量
在這里插入圖片描述
輸入 500表示要分配500個(gè)槽
3:輸入接收槽的結(jié)點(diǎn)id
在這里插入圖片描述這里準(zhǔn)備給7007分配槽,通過(guò)cluster nodes查看7007結(jié)點(diǎn)id為15b809eadae88955e36bcdbb8144f61bbbaf38fb
輸入:15b809eadae88955e36bcdbb8144f61bbbaf38fb
4:輸入源結(jié)點(diǎn)id
在這里插入圖片描述這里輸入all
5:輸入yes開始移動(dòng)槽到目標(biāo)結(jié)點(diǎn)id
在這里插入圖片描述
9.6.6 第六步:給7007實(shí)例添加一個(gè)新的從服務(wù)器
1、創(chuàng)建一個(gè)新的redis實(shí)例
2、配置實(shí)例的端口號(hào)為7008
3、使用ruby腳本添加從節(jié)點(diǎn)。
執(zhí)行如下命令:
./redis-trib.rb add-node --slave --master-id a66a2d3239122ad51f88fb6d1a0428effc18f98d 192.168.25.147:7008 192.168.25.147:7001
9.7 刪除結(jié)點(diǎn):
./redis-trib.rb del-node 127.0.0.1:7005 4b45eb75c8b428fbd77ab979b85080146a9bc017
刪除已經(jīng)占有hash槽的結(jié)點(diǎn)會(huì)失敗,報(bào)錯(cuò)如下:
[ERR] Node 127.0.0.1:7005 is not empty! Reshard data away and try again.
作者:kruppwang1
來(lái)源:CSDN
原文:https://blog.csdn.net/kruppwa...
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/72532.html
閱讀 2902·2023-04-26 02:14
閱讀 3751·2019-08-30 15:55
閱讀 1843·2019-08-29 16:42
閱讀 2757·2019-08-26 11:55
閱讀 2846·2019-08-23 13:38
閱讀 480·2019-08-23 12:10
閱讀 1308·2019-08-23 11:44
閱讀 2790·2019-08-23 11:43