代码:

package com.wenbronk.sparkstreaming.scala.commons

import java.time.Duration

import io.lettuce.core.RedisURI
import io.lettuce.core.cluster.api.StatefulRedisClusterConnection
import io.lettuce.core.cluster.{ClusterClientOptions, ClusterTopologyRefreshOptions, RedisClusterClient} import scala.collection.immutable object RedisUtils { val ip = "10.110.122.172"
val ports = Array(, , , , , ) def getRediceConnect: StatefulRedisClusterConnection[String, String] = {
val uris: immutable.Seq[RedisURI] = ports.map(port => {
RedisURI.builder().withHost(ip).withPort(port).build()
}).toList
import scala.collection.JavaConverters._
val redisClusterClient = RedisClusterClient.create(uris.asJava)
val topologyRefreshOptions = ClusterTopologyRefreshOptions.builder.enablePeriodicRefresh(Duration.ofMinutes()).enableAllAdaptiveRefreshTriggers.build
redisClusterClient.setOptions(ClusterClientOptions.builder.autoReconnect(true).pingBeforeActivateConnection(true).topologyRefreshOptions(topologyRefreshOptions).build)
redisClusterClient.connect()
} }

测试:

package com.wenbronk.sparkstreaming.test

import com.wenbronk.sparkstreaming.scala.commons.RedisUtils
import org.scalatest.FunSuite class RedisTests extends FunSuite{ test("redisSet") {
val utils = RedisUtils
val connect = utils.getRediceConnect
connect.async().set("abc", "")
println("hello")
} test("redisGet") {
val utils = RedisUtils
val connect = utils.getRediceConnect
val value = connect.async().get("abc")
println(value.get())
} test("flushdb") {
val utils = RedisUtils
val connect = utils.getRediceConnect
val value = connect.async().flushdb()
println(value.get())
} }

scala测试可见:

最新文章

  1. 判断iframe加载完成
  2. 一些用过的我常忘记的小知识(web前端)
  3. PHP基础知识之函数
  4. JS 之性能优化(2)
  5. 屏蔽Win10升级通知方法
  6. C++中的虚函数解析[The explanation for virtual function of CPlusPlus]
  7. Java学习的随笔(一)对象概念、this指针、权限修饰符
  8. query通用开源框架
  9. 对于c语言存储分配程序(malloc函数)实现的理解
  10. MyBatis学习(四)XML配置文件之SQL映射的XML文件
  11. Linux环境下安装weblogic10.3.2
  12. 爬楼梯的golang实现
  13. leetcode15
  14. mvc 使用Newtonsoft.Json进行序列化json数据
  15. spring与mybatis四种整合方法
  16. 批量插入,批量修改的sql
  17. Python 实现双向链表(图解)
  18. 机房servlet类实验
  19. 乘积尾零——第九届蓝桥杯C语言B组(省赛)第三题
  20. 微信小程序 - 自定义tabbar

热门文章

  1. 五、secureCRT远程连接工具的使用
  2. 虚拟机下 centos7 无法连接网络
  3. ImportError: No module named MySQLdb问题的解决
  4. 19. pt-query-digest
  5. caoni大业 spring boot 跳坑记
  6. Django高级篇三。restful的解析器,认证组件,权限组件
  7. 在datasnap 中使用unidac 访问数据(服务器端)
  8. jQuery三级联动
  9. 工具SQL
  10. JavaScript基础视频教程总结(031-040章)