<dependencies>
<dependency>
<groupId>com.github.etaty</groupId>
<artifactId>scala-redis_2.12.13</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
static final String REDIS_HOST = "localhost";
static final int REDIS_PORT = 6379;
static final String REDIS_PASSWORD = "your_password";
import com.redis._
import com.redis.serialization._
import scala.util.{Try, Success, Failure}
RedisClientPool.singleton(REDIS_HOST, REDIS_PORT, password = Option(REDIS_PASSWORD))
val client = RedisClientPool.withClient { client =>
}
client.set("key", "value")
val value = client.get("key")
client.expire("key", 3600)
val pipeline = client.pipeline()
pipeline.set("key1", "value1")
pipeline.set("key2", "value2")
pipeline.sync()
import com.redis._
import com.redis.serialization._
import akka.actor._
import com.redis.cluster._
import scala.concurrent.ExecutionContext.Implicits.global
val listener = new MessageListener {
override def onMessage(channel: String, message: Any): Unit = {
println(s"Received message: $message from channel: $channel")
}
}
RedisSubscriber(Cluster(RedisClientPool.masterPool), listener, Seq("channel1", "channel2"))
val lockValue = UUID.randomUUID().toString
val isLocked = client.set("lockKey", lockValue, NX = true, PX = 5000)
if (isLocked) {
client.del("lockKey")
}