更新时间:2022-05-19 GMT+08:00
分享

Redisson

介绍使用同一VPC内弹性云服务器ECS上的Redisson连接Redis实例的方法。更多的客户端的使用方法请参考Redis客户端

  • 如果创建Redis实例时设置了密码,使用Redisson客户端连接Redis时,需要配置密码进行连接,建议不要将明文密码硬编码在代码中。
  • 连接单机、主备、Proxy集群实例需要使用Redisson的SingleServerConfig配置对象中的useSingleServer方法,Cluster集群实例需要使用ClusterServersConfig对象中的useClusterServers方法。

前提条件

  • 已成功申请Redis实例,且状态为“运行中”。
  • 已创建弹性云服务器,创建弹性云服务器的方法,请参见创建弹性云服务器
  • 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装java编译环境。

操作步骤

  1. 查看并获取待连接Redis实例的IP地址/域名和端口。

    具体步骤请参见查看实例信息

  2. 登录弹性云服务器。
  3. 首先使用maven在pom.xml添加如下依赖。

    <dependency>
      <groupId>org.redisson</groupId>
      <artifactId>redisson</artifactId>
      <version>3.16.8</version>
    </dependency>

  4. 使用Redis Java (Redisson)客户端连接实例。

    • Redisson单连方式连接Redis单机、主备、proxy集群示例。
      Config config = new Config();
      SingleServerConfig singleServerConfig = config.useSingleServer();
      singleServerConfig.setAddress("redis://host:port");
      // singleServerConfig.setPassword("9client!");
      RedissonClient redisson = Redisson.create(config);
      // 测试concurrentMap,put方法的时候就会同步到redis中
      ConcurrentMap<String, Object> map = redisson.getMap("FirstMap");
      map.put("wanger", "男");
      map.put("zhangsan", "nan");
      map.put("lisi", "女");
      ConcurrentMap resultMap = redisson.getMap("FirstMap");
      System.out.println("resultMap==" + resultMap.keySet());
      // 测试Set集合
      Set mySet = redisson.getSet("MySet");
      mySet.add("wanger");
      mySet.add("lisi");
      Set resultSet = redisson.getSet("MySet");
      System.out.println("resultSet===" + resultSet.size());
      // 测试Queue队列
      Queue myQueue = redisson.getQueue("FirstQueue");
      myQueue.add("wanger");
      myQueue.add("lili");
      myQueue.add("zhangsan");
      myQueue.peek();
      myQueue.poll();
      Queue resultQueue = redisson.getQueue("FirstQueue");
      System.out.println("resultQueue===" + resultQueue);
      // 关闭连接
      redisson.shutdown();
    • Redisson连接池方式连接Redis单机、主备、proxy集群示例。
      // 1.初始化
      Config config = new Config();
      SingleServerConfig singleServerConfig = config.useSingleServer();
      singleServerConfig.setAddress("redis://host:6379");
      //设置对于master节点的连接池中连接数最大为500
      singleServerConfig.setConnectionPoolSize(500);
      // 那么这些连接将会自动被关闭,并从连接池里去掉。时间单位是毫秒。
      singleServerConfig.setIdleConnectionTimeout(10000);
      RedissonClient redisson = Redisson.create(config);
      // 测试concurrentMap,put方法的时候就会同步到redis中
      ConcurrentMap<String, Object> map = redisson.getMap("FirstMap");
      map.put("wanger", "男");
      map.put("zhangsan", "nan");
      map.put("lisi", "女");
      ConcurrentMap resultMap = redisson.getMap("FirstMap");
      System.out.println("resultMap==" + resultMap.keySet());
      // 测试Set集合
      Set mySet = redisson.getSet("MySet");
      mySet.add("wanger");
      mySet.add("lisi");
      Set resultSet = redisson.getSet("MySet");
      System.out.println("resultSet===" + resultSet.size());
      // 测试Queue队列
      Queue myQueue = redisson.getQueue("FirstQueue");
      myQueue.add("wanger");
      myQueue.add("lili");
      myQueue.add("zhangsan");
      myQueue.peek();
      myQueue.poll();
      Queue resultQueue = redisson.getQueue("FirstQueue");
      System.out.println("resultQueue===" + resultQueue);
      // 关闭连接
      redisson.shutdown();
    • Redisson连接cluster集群示例。
      Config config = new Config();
      ClusterServersConfig clusterServersConfig = config.useClusterServers();
      clusterServersConfig.addNodeAddress("redis://host:port");
      // 设置密码
      // clusterServersConfig.setPassword("");
      RedissonClient redisson = Redisson.create(config);
      ConcurrentMap<String, Object> map = redisson.getMap("FirstMap");
      map.put("wanger", "男");
      map.put("zhangsan", "nan");
      map.put("lisi", "女");
      ConcurrentMap resultMap = redisson.getMap("FirstMap");
      System.out.println("resultMap==" + resultMap.keySet());
      // 2.测试Set集合
      Set mySet = redisson.getSet("MySet");
      mySet.add("wanger");
      mySet.add("lisi");
      Set resultSet = redisson.getSet("MySet");
      System.out.println("resultSet===" + resultSet.size());
      //3.测试Queue队列
      Queue myQueue = redisson.getQueue("FirstQueue");
      myQueue.add("wanger");
      myQueue.add("lili");
      myQueue.add("zhangsan");
      myQueue.peek();
      myQueue.poll();
      Queue resultQueue = redisson.getQueue("FirstQueue");
      System.out.println("resultQueue===" + resultQueue);
      // 关闭连接
      redisson.shutdown();

分享:

    相关文档

    相关产品

close