我們需要為java spring應用程式中以paticular命名空間開頭的所有redis緩存鍵設定生存時間
密鑰格式為“abc:xyz:12345 ..”,我們希望在所有以名稱空間“abc”開頭的密鑰上設定預設TTL . 命名空間是以程式設計方式建構的 .
現在從我所讀到的,Redis中不存在設定預設TTL的概念,我們必須單獨為每個鍵設定它 .
但是有一個地方(例如在RedisTemplate或RedisCaheManger等中)我們可以配置它,以便使用預設ttl而不是-1建立每個鍵
我們嘗試了一些使用Redis緩存管理器和Keyspace設定的方法(keyspaceSettings.setTimeToLive(long)),但都沒有成功
是否有可能使用Redis緩存管理器(就像在此stackoverflow連結中提到的那樣:Spring Data Redis Expire Key)使用setDefaultExpiration或setExpires方法為一組鍵設定ttl . 它是否可用于設定生成的所有密鑰的TTL,或者它們是指在此設定"cache"到期而不是"key"到期 .
如果有人試圖實作預設TTL,或者如果你有一個我們可以嘗試的方法,那将非常感激 .