3
回答
JFinal如何将session默认存入ehcache中
【腾讯云】学生服务器套餐10元/月 >>>   

@JFinal 你好,想跟你请教个问题:

session会自动创建,但考虑到集群问题。如何实现单独的ehcache的缓存服务器,改变JFinal的策略,session文件不是保存在本地session_data文件夹中,而是存放在ehcache中,实现session对集群节点的共享?

通过什么技术或方式可以实现类似这个目的?

举报
leopard777
发帖于3年前 3回/1K+阅
共有3个答案 最后回答: 3年前

实现 ehcache 比较方便,配置一下 ehcache.xml 即可:

<cache name="ehCacheSession"
  maxElementsInMemory="10000"
  maxElementsOnDisk="100000"
  eternal="false"
  timeToIdleSeconds="3600"
  timeToLiveSeconds="0"
  overflowToDisk="true"
  diskPersistent="true"
  />



   timeToLiveSeconds="0" 指定该缓存的最长生命周期为永远,而 timeToIdelSeconds="3600" 则指定了该缓存空闲达到 3600 秒时会被去除,diskPersistent="true" 确保在应用重启时不丢失缓存, 这个组合配置用做 session 很合适。

--- 共有 1 条评论 ---
leopard777然后在web项目中,Cachekit.put("ehCacheSession",SESSION的ID,session对象) 在需要的时候再get出来? 等于磁盘上还存一个session的文件,纯粹只是为了记住session_id,来找到对应ehcache中的缓存对象吗 3年前 回复
 Shiro提供安全框架界独一无二的东西:一个完整的企业级Session 解决方案,可以为任意的应用提供session支持,包括web和非web应用,并且无需部署你的应用
顶部