类 SaTokenDaoDefaultImpl

java.lang.Object
cn.dev33.satoken.dao.SaTokenDaoDefaultImpl
所有已实现的接口:
SaTokenDao

public class SaTokenDaoDefaultImpl extends Object implements SaTokenDao
Sa-Token 持久层接口,默认实现类(基于内存 Map,系统重启后数据丢失)
从以下版本开始:
1.10.0
作者:
click33
  • 字段详细资料

    • dataMap

      public Map<String,Object> dataMap
      存储数据的集合
    • expireMap

      public Map<String,Long> expireMap
      存储数据过期时间的集合(单位: 毫秒), 记录所有 key 的到期时间 (注意存储的是到期时间,不是剩余存活时间)
    • refreshThread

      public Thread refreshThread
      执行数据清理的线程引用
    • refreshFlag

      public volatile boolean refreshFlag
      是否继续执行数据清理的线程标记
  • 构造器详细资料

    • SaTokenDaoDefaultImpl

      public SaTokenDaoDefaultImpl()
      构造函数
  • 方法详细资料

    • get

      public String get(String key)
      从接口复制的说明: SaTokenDao
      获取 value,如无返空
      指定者:
      get 在接口中 SaTokenDao
      参数:
      key - 键名称
      返回:
      value
    • set

      public void set(String key, String value, long timeout)
      从接口复制的说明: SaTokenDao
      写入 value,并设定存活时间(单位: 秒)
      指定者:
      set 在接口中 SaTokenDao
      参数:
      key - 键名称
      value - 值
      timeout - 数据有效期(值大于0时限时存储,值=-1时永久存储,值=0或小于-2时不存储)
    • update

      public void update(String key, String value)
      从接口复制的说明: SaTokenDao
      更新 value (过期时间不变)
      指定者:
      update 在接口中 SaTokenDao
      参数:
      key - 键名称
      value - 值
    • delete

      public void delete(String key)
      从接口复制的说明: SaTokenDao
      删除 value
      指定者:
      delete 在接口中 SaTokenDao
      参数:
      key - 键名称
    • getTimeout

      public long getTimeout(String key)
      从接口复制的说明: SaTokenDao
      获取 value 的剩余存活时间(单位: 秒)
      指定者:
      getTimeout 在接口中 SaTokenDao
      参数:
      key - 指定 key
      返回:
      这个 key 的剩余存活时间
    • updateTimeout

      public void updateTimeout(String key, long timeout)
      从接口复制的说明: SaTokenDao
      修改 value 的剩余存活时间(单位: 秒)
      指定者:
      updateTimeout 在接口中 SaTokenDao
      参数:
      key - 指定 key
      timeout - 过期时间(单位: 秒)
    • getObject

      public Object getObject(String key)
      从接口复制的说明: SaTokenDao
      获取 Object,如无返空
      指定者:
      getObject 在接口中 SaTokenDao
      参数:
      key - 键名称
      返回:
      object
    • setObject

      public void setObject(String key, Object object, long timeout)
      从接口复制的说明: SaTokenDao
      写入 Object,并设定存活时间 (单位: 秒)
      指定者:
      setObject 在接口中 SaTokenDao
      参数:
      key - 键名称
      object - 值
      timeout - 存活时间(值大于0时限时存储,值=-1时永久存储,值=0或小于-2时不存储)
    • updateObject

      public void updateObject(String key, Object object)
      从接口复制的说明: SaTokenDao
      更新 Object (过期时间不变)
      指定者:
      updateObject 在接口中 SaTokenDao
      参数:
      key - 键名称
      object - 值
    • deleteObject

      public void deleteObject(String key)
      从接口复制的说明: SaTokenDao
      删除 Object
      指定者:
      deleteObject 在接口中 SaTokenDao
      参数:
      key - 键名称
    • getObjectTimeout

      public long getObjectTimeout(String key)
      从接口复制的说明: SaTokenDao
      获取 Object 的剩余存活时间 (单位: 秒)
      指定者:
      getObjectTimeout 在接口中 SaTokenDao
      参数:
      key - 指定 key
      返回:
      这个 key 的剩余存活时间
    • updateObjectTimeout

      public void updateObjectTimeout(String key, long timeout)
      从接口复制的说明: SaTokenDao
      修改 Object 的剩余存活时间(单位: 秒)
      指定者:
      updateObjectTimeout 在接口中 SaTokenDao
      参数:
      key - 指定 key
      timeout - 剩余存活时间
    • searchData

      public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType)
      从接口复制的说明: SaTokenDao
      搜索数据
      指定者:
      searchData 在接口中 SaTokenDao
      参数:
      prefix - 前缀
      keyword - 关键字
      start - 开始处索引
      size - 获取数量 (-1代表从 start 处一直取到末尾)
      sortType - 排序类型(true=正序,false=反序)
      返回:
      查询到的数据集合
    • refreshDataMap

      public void refreshDataMap()
      清理所有已经过期的 key
    • initRefreshThread

      public void initRefreshThread()
      初始化定时任务,定时清理过期数据
    • endRefreshThread

      public void endRefreshThread()
      结束定时任务,不再定时清理过期数据