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