我有8个Storm Bolt-Executors并行运行。 我有一个统计缓存:Map>
e.g。 userVisitCache - > (userId,(roomId,totalVisit)) 8个并行线程(Bolt Executor)中的任何一个,每当在一个房间中找到一个用户时会增加计数,如果找到外面的空间将减少计数。
现在我的问题是如果我使用Redisson,那么userVisitCache.get(userId).put(roomId, visitCount)
线程安全?
如果没有,那么我应该使用userVisitCache.getLock()。lock()..来锁定缓存吗? 在那种情况下,我应该使用Redisson读写锁还是通常的cache.getLock()?
答案 0 :(得分:0)
包括Map在内的所有Redisson对象都是完全线程安全的。