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