0

我正在使用 Infinispan 8.1.0。

在我的项目中,我们选择了像会话缓存一样的 infinispan 缓存,每次一个用户连接到我的系统时,都会创建一个基于用户 ID 和会话 ID 的命名缓存。

像会话缓存一样使用 infinispan,需要处理缓存寿命,就像我们应该处理会话内存一样。所以我必须面对的问题是:

当用户关闭浏览器而不单击默认注销按钮时,如何删除用户会话缓存?

如何在运行时刷新并动态更新用户会话缓存的生命周期?事实上,用户会话过期时间必须在每个用户请求后刷新,否则 X 分钟后用户将无法在缓存中找到他的数据,即使他的会话仍然存在。

那么 infinispan 是否可以在运行时和缓存创建后设置缓存过期而不再次创建它?

4

1 回答 1

1

您对缓存的看法与它的用途不同。与关系数据库中的表类似,所有用户都应该有一个缓存,并且 user-id 和 session-id 应该形成一个键而不是缓存名称。

然后,您可以为此缓存中的条目设置默认过期设置(每个条目可覆盖)。但是缓存本身并不意味着作为一个整体过期。

于 2016-07-12T07:17:25.350 回答