目录
2、安装Ruby(创建redis的集群时需要在Ruby环境)下一步直接要以下使用到各种工具资源
4、cmd命令行使用gem命令安装redis相关依赖:gem install redis
5、环境准备完毕,开始搞Redis,在redis安装目录下,建立节点文件
6、修改的Redis配置文件,并复制到相应的节点(9001,9002,9003,9004,9005,9006)文件夹下,再更改一下端口(苦力活)需要修改的属性如下:
7、CMD运行命令,把这6个节点都注册为服务:(指定位置文件注册为WINDONS服务,并启动各节点服务)
11、附上集群客户端命令(redis-cli -c -p port)
1、安装的Redis
这里不叙述
2、安装Ruby(创建redis的集群时需要在Ruby环境)下一步直接要以下使用到各种工具资源
3、安装了RubyGems
下载下来是一个压缩包,解压运行里面的的的setup.rb安装的RubyGems的
4、cmd命令行使用gem命令安装redis相关依赖:gem install redis
上面能安装这个修改可以忽略:
gem sources --remove https://rubygems.org/ 删掉原来的源
gem sources -a http://ruby.taobao.org 添加淘宝源
gem sources -l 查看现有的源
gem install redis 安装redis依赖
5、环境准备完毕,开始搞Redis,在redis安装目录下,建立节点文件
6、修改的Redis配置文件,并复制到相应的节点(9001,9002,9003,9004,9005,9006)文件夹下,再更改一下端口(苦力活)需要修改的属性如下:
port 9001
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
(绑定IP按照自己情况修改)
7、CMD运行命令,把这6个节点都注册为服务:(指定位置文件注册为WINDONS服务,并启动各节点服务)
注册为服务命令:
redis-server --service-install redis.windows-service.conf --loglevel verbose
redis-server --service-install redis.windows-service.conf --service-name redis9001
redis-server --service-install redis.windows-service.conf --service-name redis9002
redis-server --service-install redis.windows-service.conf --service-name redis9003
redis-server --service-install redis.windows-service.conf --service-name redis9004
redis-server --service-install redis.windows-service.conf --service-name redis9005
redis-server --service-install redis.windows-service.conf --service-name redis9006
8、CMD下使用如下命令创建的Redis集群:
创建集群的命令:
ruby redis-trib.rb create --replicas 1 192.168.140.129:9001 192.168.140.129:9002 192.168.140.129:9003 192.168.140.129:9004 192.168.140.129:9005 192.168.140.129:9006
客户端测试命令:
redis-cli -c -h 127.0.0.1 -p 9001 -c
redis-cli -c -h 192.168.140.129 -p 9001 -c
删除服务cmd命令:
sc delete <service name>
sc delete redis9001
9、测试
10、redis集群主从关系图:
主节点被删除,对应的从节点就会升级为主节点(如:将redis9001服务停止后,9004就会变为主节点,在启动9001这是9001就变为从节点)
注意:再次使用命令创建的Redis集群实例时,必须把各节点文件夹下的appendonly.aof,nodes.conf,dump.rdb这些文件删除了,才能创建的Redis集群实例,否则会报错
11、附上集群客户端命令(redis-cli -c -p port)
集群
cluster info :打印集群的信息
cluster nodes :列出集群当前已知的所有节点( node),以及这些节点的相关信息。
节点
cluster meet <ip> <port> :将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
cluster forget <node_id> :从集群中移除 node_id 指定的节点。
cluster replicate <node_id> :将当前节点设置为 node_id 指定的节点的从节点。
cluster saveconfig :将节点的配置文件保存到硬盘里面。
槽(slot)
cluster addslots <slot> [slot ...] :将一个或多个槽( slot)指派( assign)给当前节点。
cluster delslots <slot> [slot ...] :移除一个或多个槽对当前节点的指派。
cluster flushslots :移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
cluster setslot <slot> node <node_id> :将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给
另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。
cluster setslot <slot> migrating <node_id> :将本节点的槽 slot 迁移到 node_id 指定的节点中。
cluster setslot <slot> importing <node_id> :从 node_id 指定的节点中导入槽 slot 到本节点。
cluster setslot <slot> stable :取消对槽 slot 的导入( import)或者迁移( migrate)。
键
cluster keyslot <key> :计算键 key 应该被放置在哪个槽上。
cluster countkeysinslot <slot> :返回槽 slot 目前包含的键值对数量。
cluster getkeysinslot <slot> <count> :返回 count 个 slot 槽中的键