提升网站性能,wordpress手机拍照插件,广告设计就业好找吗,在电脑上怎么卸载wordpress一、集群管理工具
Redisson集群管理工具提供了通过程序化的方式#xff0c;像redis-trib.rb脚本一样方便地管理Redis集群的工具。
1、 创建集群
以下范例展示了如何创建三主三从的Redis集群。
ClusterNodes clusterNodes ClusterNodes.create()
.master(127.0.0.1:…一、集群管理工具
Redisson集群管理工具提供了通过程序化的方式像redis-trib.rb脚本一样方便地管理Redis集群的工具。
1、 创建集群
以下范例展示了如何创建三主三从的Redis集群。
ClusterNodes clusterNodes ClusterNodes.create()
.master(127.0.0.1:7000).withSlaves(127.0.0.1:7001, 127.0.0.1:7002)
.master(127.0.0.1:7003).withSlaves(127.0.0.1:7004)
.master(127.0.0.1:7005);
ClusterManagementTool.createCluster(clusterNodes);
主节点127.0.0.1:7000的从节点有127.0.0.1:7001和127.0.0.1:7002。
主节点127.0.0.1:7003的从节点是127.0.0.1:7004。
主节点127.0.0.1:7005没有从节点。
2、 踢出节点
以下范例展示了如何将一个节点踢出集群。
ClusterManagementTool.removeNode(127.0.0.1:7000, 127.0.0.1:7002);
// 或
redisson.getClusterNodesGroup().removeNode(127.0.0.1:7002);
将从节点127.0.0.1:7002从其主节点127.0.0.1:7000里踢出。
3、 数据槽迁移
以下范例展示了如何将数据槽在集群的主节点之间迁移。
ClusterManagementTool.moveSlots(127.0.0.1:7000, 127.0.0.1:7002, 23, 419, 4712, 8490);
// 或
redisson.getClusterNodesGroup().moveSlots(127.0.0.1:7000, 127.0.0.1:7002, 23, 419, 4712, 8490);
将番号为234194712和8490的数据槽从127.0.0.1:7002节点迁移至127.0.0.1:7000节点。
以下范例展示了如何将一个范围的数据槽在集群的主节点之间迁移。
ClusterManagementTool.moveSlotsRange(127.0.0.1:7000, 127.0.0.1:7002, 51, 9811);
// 或
redisson.getClusterNodesGroup().moveSlotsRange(127.0.0.1:7000, 127.0.0.1:7002, 51, 9811);
将番号范围在[51, 9811]含之间的数据槽从127.0.0.1:7002节点移动到127.0.0.1:7000节点。
4、 添加从节点
以下范例展示了如何向集群中添加从节点。
ClusterManagementTool.addSlaveNode(127.0.0.1:7000, 127.0.0.1:7003);
// 或
redisson.getClusterNodesGroup().addSlaveNode(127.0.0.1:7003);
将127.0.0.1:7003作为从节点添加至127.0.0.1:7000所在的集群里。
5、添加主节点
以下范例展示了如何向集群中添加主节点。
ClusterManagementTool.addMasterNode(127.0.0.1:7000, 127.0.0.1:7004);
// 或
redisson.getClusterNodesGroup().addMasterNode(127.0.0.1:7004);
将127.0.0.1:7004作为主节点添加至127.0.0.1:7000所在的集群里。 Adds master node 127.0.0.1:7004 to cluster where 127.0.0.1:7000 participate in
二、对Redis节点的操作
Redisson的NodesGroup对象提供了许些对Redis节点的操作。 NodesGroup nodesGroup redisson.getNodesGroup();
nodesGroup.addConnectionListener(new ConnectionListener() {public void onConnect(InetSocketAddress addr) {// Redis节点连接成功}public void onDisconnect(InetSocketAddress addr) {// Redis节点连接断开}
});
也可以用来PING单个Redis节点或全部节点。NodesGroup nodesGroup redisson.getNodesGroup();
CollectionNode allNodes nodesGroup.getNodes();
for (Node n : allNodes) {n.ping();
}
// 或者
nodesGroup.pingAll(); 三、底层Redis客户端
Redisson在底层采用了高性能异步非阻塞式Java客户端它同时支持异步和同步两种通信模式。如果有哪些命令Redisson还没提供支持也可以直接通过调用底层Redis客户端来实现。Redisson支持的命令在Redis命令和Redisson对象匹配列表里做了详细对比参照。
// 在使用多个客户端的情况下可以共享同一个EventLoopGroup
EventLoopGroup group new NioEventLoopGroup();RedisClientConfig config new RedisClientConfig();
config.setAddress(redis://localhost:6379) // 或者用rediss://使用加密连接.setPassword(myPassword).setDatabase(0).setClientName(myClient).setGroup(group);RedisClient client RedisClient.create(config);
RedisConnection conn client.connect();
// 或
RFutureRedisConnection connFuture client.connectAsync();conn.sync(StringCodec.INSTANCE, RedisCommands.SET, test, 0);
// 或
conn.async(StringCodec.INSTANCE, RedisCommands.GET, test);conn.close()
// 或
conn.closeAsync()client.shutdown();
// 或
client.shutdownAsync();