SCARD
выполняется для кеша, но он не показывает новый счет после истечения срока действия записей.
Я реализую CrudRepository
в Spring Boot 2.1.1 и опираюсь нааннотация @TimeToLive
при создании записи @RedisHash
.В репро я просто сохраняю с помощью save()
, а затем получаю счет с size()
через репозиторий ... но этот размер просто возвращает счетчик выполнения и не уменьшается даже после истечения срока действия записи в кэше.
Я вижу, что объект @RedisHash
делает две записи - HMSET 123:abc
, HMSET 123:abc:phantom
.Первый устанавливается с EXPIRE моего TTL, а фантом устанавливается на этот TTL + 5 минут - что согласуется со всем, что я читаю.Оба входа истекают, как и ожидалось, но следующий SCARD
(что и делает size()
) не уменьшается.
Есть идеи, почему это SCARD
не отражает новый счетчик с истекшим сроком?
У меня такое ощущение, что это в основном проблема с отображением, поскольку INFO MEMORY
показывает уменьшение используемой памяти по мере истечения срока действия ... но было бы неплохо, чтобы визуальное отражение в SCARD
/ size()
Также позвоните.
Заранее спасибо!