亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果進程終止,Redisson 緩存映射不會逐出

如果進程終止,Redisson 緩存映射不會逐出

三國紛爭 2022-08-03 16:28:09
我正在使用 Redisson 的 RMapCache 來處理應用程序中的一些分布式集合。這些集合中的密鑰應該在一段時間后過期,因此在添加密鑰時,我設置了 TTL:RMapCache<String, MyClass> cacheMap = GetMap("test");cacheMap.put("DTO1", myClassInstance, 20, TimeUnit.SECONDS);因此,在 20 秒后,密鑰應過期。如果進程在過期時間戳之前未終止,則此方法非常有效。但是,如果由于任何原因進程死亡,則永遠不會清除密鑰,這意味著逐出由 Java 進程中的 Redisson 處理,而不是由 Redis 本身處理。有沒有辦法讓 Redisson 使用 Redis 的內置 EXPIRE 功能?因此,在 Map 中插入的進程不負責密鑰逐出。我發現當前的 redisson 實現非常脆弱。
查看完整描述

1 回答

?
九州編程

TA貢獻1785條經驗 獲得超4個贊

一旦在崩潰后創建了相同的RMapCache對象,它就會啟動逐出調度程序,從而從Redis清除過期的條目。

如果只想依靠 Redis 逐出過程,則使用 RBucket 對象。Redis 不提供 TTL 的映射條目過期。


查看完整回答
反對 回復 2022-08-03
  • 1 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號