Infinispan Настройка продолжительности жизни в кэше динамически во время выполнения

Я работаю с Infinispan 8.1.0.

В моем проекте мы выбрали бесконечный кэш, такой как кэш сеанса, так как каждый раз, когда один пользователь подключается к моей системе, создается именованный кеш на основе идентификатора пользователя и идентификатора сеанса.

При использовании InfanSpan, например, Session Cache, необходимо обрабатывать срок службы кеша, как и в случае с сессионной памятью. Итак, проблемы, с которыми мне приходится сталкиваться:

Как я могу удалить кэш сессии пользователя, когда пользователь закрывает браузер, не нажимая кнопку выхода по умолчанию?

Как я могу обновить во время выполнения и динамически время жизни кеша пользовательской сессии? Действительно, время истечения сеанса пользователя должно обновляться после каждого пользовательского запроса, в противном случае через X минут пользователь не сможет найти свои данные в кэше, даже если его сеанс еще жив.

Так можно ли с помощью infinispan устанавливать время выполнения и после создания кеша истечение срока кеша без его повторного создания?

1 ответ

Вы думаете о кеше иначе, чем он предназначен для использования. Подобно таблице в реляционных БД, для всех пользователей должен быть один кэш, а идентификатор пользователя и идентификатор сеанса должны формировать ключ, а не имя кэша.

Затем вы можете установить параметры истечения срока действия по умолчанию для записей в этом кэше (перезаписывается для каждой записи). Но сам кэш не должен истекать в целом.

Другие вопросы по тегам