我正在使用Infinispan 8.1.0。
在我的项目中,我们选择了infinispan缓存,就像会话缓存一样,每次一个用户连接到我的系统时,都会创建一个基于user-id和session-id的命名缓存。
像会话缓存一样使用infinispan,需要处理缓存生命周期,因为我们应该对会话内存进行处理。所以我必须面对的问题是:
当用户关闭浏览器而不点击默认的注销按钮时,如何删除用户会话缓存?
如何在运行时刷新并动态刷新用户会话缓存的生命周期?实际上,用户会话到期时间必须在每个用户请求之后刷新,否则在X分钟之后用户将无法在缓存中找到他的数据,即使他的会话仍然存在。
因此,infinispan可以在运行时设置并在缓存创建后缓存过期而不再创建它吗?
答案 0 :(得分:1)
您认为缓存与其意图使用的方式不同。与关系数据库中的表类似,所有用户都应该有单个缓存,而user-id和session-id应该形成一个键而不是一个缓存名。
然后,您可以为此缓存中的条目设置默认到期设置(每个条目可覆盖)。但缓存本身并不意味着整个过期。