因为项目需求,需要添加读写锁和行锁,考虑到项目规模不大,没必要用redis手动实现,所以决定直接使用Redisson完成这部分逻辑
添加依赖
虽然是用kotlin,但是Redisson没有kotlin的库,所以还是得用java的依赖,添加依赖如下:
dependencies{
//redisson
implementation "org.redisson:redisson:3.13.0"
}
编写工具类
class RedissonHelper(config: JsonObject) {//redisson工具类
var client: RedissonClient
init {
val address = config.getString("address")
if (address.isEmpty())
throw Exception("address is empty")
val type = config.getString("type")
val redissonConfig = Config().apply {
when (type) {
"cluster" -> useClusterServers().addNodeAddress(address)
"sentinel" -> useSentinelServers().addSentinelAddress(address)
else -> useSingleServer().setAddress(address)
}
}
client &