session使用

可以配置session的实现方式和过期时间,session目前提供3种实现方式,可以根据实际情况进行选择。

  • 本地session方式,默认
  • redis方式
  • guava方式

本地session方式

HttpServletRequest中的session

session类型配置:

wueasy :
  session: #session配置
    type: local #类型 local 本地session 默认,redis ,guava
    tokenWriteCookie: false  #token写入cookie, true 是, false 不是,默认false

session过期时间配置:

默认30分钟,单位秒

server :
  servlet:
    session:
      cookie:
        http-only: true
      timeout: 1800
      tracking-modes: cookie

redis方式

使用redis方式保存session信息,支持分布式环境。

session类型配置:

wueasy :
  session: #session配置
    type: redis #类型 local 本地session 默认,redis ,guava

session过期时间配置:

默认30分钟,单位秒

wueasy :
  session:
    timeout: 1800

配置redis连接信息:

1.3.0开始支持此配置,之前版本请参考spring boot redis配置。

wueasy :
  redis: #redis配置
    session:
      database : 1 #数据库索引(默认为0)
      host : 127.0.0.1 #服务器地址
      port : 6379 #服务器连接端口
      password : 123456  #服务器连接密码(默认为空)
      pool : #连接池配置
        maxIdle : 8 # 连接池中的最大空闲连接,默认值也是8。
        minIdle : 0 #连接池中的最小空闲连接,默认值也是0。
        maxTotal : 2000 # 如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
        maxWaitMillis : 1000 # 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException
      timeout : 3000 #连接超时时间(毫秒)

guava方式

使用guava缓存方式保存session信息。

session类型配置:

wueasy :
  session: #session配置
    type: guava #类型 local 本地session 默认,redis ,guava

session过期时间配置:

默认30分钟,单位秒

wueasy :
  session:
    timeout: 1800

获取session对象

可以通过SessionUtil工具,获取session服务接口,从而对session进行操作。

SessionService sessionService = SessionUtil.getSessionService();

支持一下方法。

/**
 * session服务类
 * @author: fallsea
 * @version 1.0
 */
public interface SessionService {

    /**
     * 增加session
     * @author: fallsea
     * @param session
     */
    void addSession(Session session);

    /**
     * 更新session
     * @author: fallsea
     * @param session
     */
    void updateSession(Session session);

    /**
     * 获取session
     * @author: fallsea
     * @param token
     * @return
     */
    Session getSession(String token);


    /**
     * 获取真是的session(不需要处理缓存)
     * @author: fallsea
     * @param token
     * @return
     */
    Session getRealSession(String token);

    /**
     * 删除缓存信息
     * @author: fallsea
     * @param token
     */
    void removeSession(String token);

    /**
     * 创建session
     * @author: fallsea
     * @return
     */
    Session createSession();


    /**
     * 获取session
     * @author: fallsea
     * @return
     */
    Session getSession();


    /**
     * 获取真是的session(不需要处理缓存)
     * @author: fallsea
     * @return
     */
    Session getRealSession();

}
Copyright © wueasy.com 2017-2019 all right reserved,powered by Gitbook未经允许,禁止以任何形式传播 修订时间: 2019-10-04

results matching ""

    No results matching ""