sa-token/sa-token-doc/api/sa-session.md
小可开源 c62f61755f
update sa-token-doc/api/sa-session.md.
常量说明中
SaSession.ROLE_LIST= "USER";   // 在Session 上存储用户对象时建议使用的key
写成了角色的值SaSession.ROLE_LIST,应该为SaSession.USER

Signed-off-by: 小可开源 <2479427380@qq.com>
2022-12-09 07:40:21 +00:00

78 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SaSession-会话对象
SaSession-会话对象,专业数据缓存组件。
---
### 1、常量
``` java
SaSession.USER= "USER"; // 在 Session 上存储用户对象时建议使用的key
SaSession.ROLE_LIST = "ROLE_LIST"; // 在 Session 上存储角色时建议使用的key
SaSession.PERMISSION_LIST = "PERMISSION_LIST"; // 在 Session 上存储权限时建议使用的key
```
### 2、构建相关
``` java
session.getId(); // 获取此 Session 的 id
session.setId(id); // 写入此 Session 的 id
session.getCreateTime(); // 返回当前会话创建时间(时间戳)
session.setCreateTime(createTime); // 写入此 Session 的创建时间(时间戳)
```
### 3、TokenSign 相关
``` java
session.setTokenSignList(tokenSignList); // 写入此 Session 绑定的 Token 签名列表
session.getTokenSignList(); // 获取此 Session 绑定的 Token 签名列表
session.tokenSignListCopy(); // 获取 Token 签名列表 的拷贝副本
session.tokenSignListCopyByDevice(device); // 返回 Token 签名列表 的拷贝副本,根据 device 筛选
session.getTokenSign(tokenValue); // 查找一个 Token 签名
session.addTokenSign(tokenSign); // 添加一个 Token 签名
session.addTokenSign(tokenValue, device); // 添加一个 Token 签名
session.removeTokenSign(tokenValue); // 移除一个 Token 签名
```
### 4、一些操作
``` java
session.update(); // 更新Session从持久库更新刷新一下
session.logout(); // 注销Session (从持久库删除)
session.logoutByTokenSignCountToZero(); // 当Session上的tokenSign数量为零时注销会话
session.getTimeout(); // 获取此Session的剩余存活时间 (单位: 秒)
session.updateTimeout(timeout); // 修改此Session的剩余存活时间
session.updateMinTimeout(minTimeout); // 修改此Session的最小剩余存活时间 (只有在 Session 的过期时间低于指定的 minTimeout 时才会进行修改)
session.updateMaxTimeout(maxTimeout); // 修改此Session的最大剩余存活时间 (只有在 Session 的过期时间高于指定的 maxTimeout 时才会进行修改)
session.trans(value); // value为 -1 时返回 Long.MAX_VALUE否则原样返回
```
### 5、存取值
``` java
session.get(key); // 取值
session.get(key, defaultValue); // 取值 (指定默认值)
session.get(key, () -> {}); // 取值 (如果值为 null则执行 fun 函数获取值,并把函数返回值写入缓存)
session.getString(key); // 取值 (转String类型)
session.getInt(key); // 取值 (转int类型)
session.getLong(key); // 取值 (转long类型)
session.getDouble(key); // 取值 (转double类型)
session.getFloat(key); // 取值 (转float类型)
session.getModel(key, clazz); // 取值 (指定转换类型)
session.getModel(key, clazz, defaultValue); // 取值 (指定转换类型, 并指定值为Null时返回的默认值)
session.has(key); // 是否含有某个key
session.set(key, value); // 写值
session.setByNull(key, value); // 写值 (只有在此 key 原本无值的情况下才会写入)
session.delete(key); // 删值
session.keys(); // 返回当前Session的所有key
session.clear(); // 清空所有值
session.getDataMap(); // 获取数据挂载集合如果更新map里的值请调用session.update()方法避免产生脏数据
session.refreshDataMap(dataMap); // 写入数据集合 (不改变底层对象只将此dataMap所有数据进行替换)
```