# 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