Redisson集群管理工具、对Redis节点的操作

这篇具有很好参考价值的文章主要介绍了Redisson集群管理工具、对Redis节点的操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、集群管理工具

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);

将番号为23,419,4712和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();
Collection<Node> 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();
// 或
RFuture<RedisConnection> 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();

 文章来源地址https://www.toymoban.com/news/detail-727125.html

到了这里,关于Redisson集群管理工具、对Redis节点的操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis图形化管理工具(Redis Desktop Manager)

    随着业务的突飞猛进,查询业务如果还是使用sql,时效性有些不能满足要求,目前比较流行的方式是使用Redis,本篇主要介绍Redis图形化管理工具(Redis Desktop Manager)的使用方法; 名称:redisdesktop桌面管理工具 地址:https://redisdesktop.com/download 介绍:一款好用的redis桌面管理工

    2023年04月09日
    浏览(47)
  • Redis桌面管理工具:Redis Desktop Manager for Mac

    Redis Desktop Manager是一款非常实用的Redis管理工具,它不仅提供了方便易用的图形用户界面,还支持多种Redis数据结构,可以帮助用户轻松地完成Redis数据库的管理工作。 以下是一些推荐Redis Desktop Manager的理由: 多平台支持:Redis Desktop Manager适用于Windows、macOS和Linux等多平台,无

    2024年02月04日
    浏览(49)
  • Redis Desktop Manager 中文--强大的Redis数据库管理工具

    Redis Desktop Manager(简称RDM)是一款开源且功能强大的图形化Redis管理工具。它支持Windows、macOS和Linux等多平台,为Redis数据库提供了直观友好的管理界面。通过RDM,用户可以轻松连接多个Redis服务器,管理连接信息,并直观地浏览和查看数据库中的数据结构。同时,它还支持键

    2024年04月16日
    浏览(55)
  • 如何使用装rancher安装k8s集群(k8s集群图形化管理工具)

    kubernetes集群的图形化管理工具主要有以下几种: 1、 Kubernetes Dashborad: Kubernetes 官方提供的图形化工具 2、 Rancher: 目前比较主流的企业级kubernetes可视化管理工具 3、各个云厂商Kubernetes集成的管理器 4、 Kuboard: 国产开源Kubernetes可视化管理工具 本篇我们来学习 主流的企业级kube

    2024年02月11日
    浏览(38)
  • NineData:高效高质量的Redis可视化管理工具

    Redis 是一个内存数据结构存储系统,它被广泛用于缓存、队列、实时分析等多种应用场景中,目前已经成为 Key-value 数据存储系统中的佼佼者,根据 DB-Engine 网站提供的最新数据,Redis 在 Key-value stores 类别中排名第一,在整体数据库类别中排名第六,有着非常高的市场占有率。

    2024年02月05日
    浏览(34)
  • 【项目实战】基于Web的管理和监控Hadoop集群工具——Ambari入门介绍

    Apache Ambari是一种基于Web的工具,它提供了一个易于使用的Web界面 ,是一个强大的开源的集群管理工具,它可以帮助管理员轻松管理和监控Hadoop集群,支持Apache Hadoop集群的供应、管理和监控。 Ambari已支持大多数Hadoop组件,包括HDFS、Hadoop MapReduce、Hive、Pig、 Hbase、Zookeeper、Sq

    2024年02月06日
    浏览(37)
  • [Docker]十一.Docker Swarm集群raft算法,Docker Swarm Web管理工具

    Raft :一致性算法,在保证大多数管理节点存活的情况下,集群才能使用, 所以就要求如果集群的话, manager 节点必须 =3 台 ,如果是两个台,其中一台宕机,剩余的一台也将不可用,以致整个集群不可用 Manager : 管理节点,用于管理工作节点,为了利用 swarm 模式的容错特性

    2024年02月04日
    浏览(49)
  • 【kafka-ui】支持kafka with kraft的可视化集群管理工具

    本文在kafka3.3.1版本基础上进行测试 在早期使用kafka的时候一般使用Kafka Tool或者kafka eagle,前者为桌面软件,后者为浏览器软件。总体来说体验一般,但是还比较够用。 但是从kafka3.3.1开始,已经正式抛弃zookeeper使用自己的仲裁器了,但是上述两种kafka可视化工具的更新好像并

    2024年02月02日
    浏览(84)
  • NexNoSQL Client:Elasticsearch、Redis、MongoDB三合一的可视化客户端管理工具

    工作中我们使用了Elasticsearch作为存储,来支持内容的搜索,Elasticsearch这个软件大家都耳熟能详,它是一个分布式、高扩展、高实时的搜索与数据分析引擎,不仅仅支持文本索引,还支持聚合操作,使用它既可以做数据搜索,还可以做报表分析,非常的方便。 在使用过程中我

    2024年02月15日
    浏览(152)
  • Linux部署Redis Cluster高可用集群(附带集群节点添加删除以及槽位分配操作详解)

    Redis Cluster 集群是一个由多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。Redis集群不需要sentinel哨兵也能完成节点移除和故障转移的功能。需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,需要将每个节点设置成集群模式,

    2024年02月07日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包