天天看點

java redis 命名空間_将Redis中的TTL設定為具有命名空間的鍵

我們需要為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,或者如果你有一個我們可以嘗試的方法,那将非常感激 .