redisson:用spring缓存锁定

noj0wjuj  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(410)

redisson提供对redis支持的锁定的支持。它还提供了使用springcache框架的实现。但根据我看到的情况,当尝试使用springcache框架更新缓存中的密钥时,默认情况下不会调用锁定。redisson有单独的api来锁定特定的密钥。对吗?
另外,锁定api似乎将键作为输入,所以我不清楚锁定是如何工作的。对于锁定,我假设您需要缓存名称和密钥。
我是redis的新成员,所以我非常感谢你对我的帮助。谢谢

92dk7w1h

92dk7w1h1#

首先,redisson中的锁定是由redis实现的,而不仅仅用于redis的更新。
例如,如果要实现如下原子操作:
从redis获取键值
根据某种逻辑计算一个新值
将新值保存到redis和mysql
您可以使用redisson lock以原子方式进行操作。
其次,在redis中,set/update命令是原子的,如果只更新值,则不需要锁定密钥。
而对于锁api,Redison实现了按redis key/value锁,所以您只需要提供lock key,它通常包含一个资源id和资源类型(比如lock:user:31352")

相关问题