# hsession **Repository Path**: easybpm/hsession ## Basic Information - **Project Name**: hsession - **Description**: 使用memcached来实现session共享 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 16 - **Created**: 2016-09-14 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ###hsession介绍 hsession是一个解决j2ee 项目session共享问题的一个小工具,能够让同一个用户请求被转发到多台web服务器时,回话依然有效。 ###web.xml配置 ``` sessionFilter com.hsession.filter.HSessionFilter sessionFilter /* ``` ###cache.properties配置 ``` #cache类型,可以使用自己写的其他类来实现com.hsession.cache.Cache cache.type=com.hsession.memcached.MemCached #memcached 缓存ip:port ,用,分隔 使用分布式memcache服务器 cache.servers=121.43.106.57:11211 cache.server.weights=10 ``` ###Maven第三方依赖 ``` javax.servlet servlet-api 2.5 org.slf4j slf4j-api 1.7.7 com.whalin Memcached-Java-Client 3.0.0 ``` >但是hsession可能会遇到的问题,需要考虑: - 分布式memcached服务器是通过hash算法来分别落到不同的服务器上,如果一台memcached服务器的down机可能造成一批用户的登陆态丢失,需要重新登录。 - memcached 分块存储,如果优化不好可能会在成大量的内存浪费 或者数据丢失 - memcached不是一个稳定的数据存储服务器,可能会出现不确定的数据丢失,用户可能会莫名其妙下线,作为优化,可以用数据库作为辅助,或者直接使用redis