litefs.session package
- class litefs.session.CachedSessionStore(store, cache, cache_key_prefix: str = 'session:')[源代码]
基类:
object带缓存的 Session 存储
在 DatabaseSession 前面添加缓存层,减少数据库查询
- expire(session_id: str, expiration: int) bool[源代码]
设置 Session 过期时间
- 参数:
session_id -- Session ID
expiration -- 过期时间(秒)
- 返回:
是否设置成功
- get(session_id: str) Session | None[源代码]
获取 Session
- 参数:
session_id -- Session ID
- 返回:
Session 对象,如果不存在则返回 None
- class litefs.session.DatabaseSession(db_path: str = ':memory:', table_name: str = 'sessions', expiration_time: int = 3600, **kwargs)[源代码]
基类:
object数据库 Session 实现
使用 SQLite 数据库作为 Session 存储,支持持久化存储
- exists(session_id: str) bool[源代码]
检查 Session 是否存在
- 参数:
session_id -- Session ID
- 返回:
Session 是否存在且未过期
- expire(session_id: str, expiration: int) bool[源代码]
设置 Session 过期时间
- 参数:
session_id -- Session ID
expiration -- 过期时间(秒)
- 返回:
是否设置成功
- get(session_id: str) Session | None[源代码]
获取 Session
- 参数:
session_id -- Session ID
- 返回:
Session 对象,如果不存在或已过期则返回 None
- class litefs.session.MemcacheSession(memcache_client=None, servers: list = ['localhost:11211'], key_prefix: str = 'litefs:session:', expiration_time: int = 3600, **kwargs)[源代码]
基类:
objectMemcache Session 实现
使用 Memcache 作为 Session 存储,提供高性能的分布式缓存支持
- delete_pattern(pattern: str) int[源代码]
删除匹配模式的 Session
注意:Memcache 不支持模式匹配,此方法仅返回 0
- 参数:
pattern -- 键模式
- 返回:
删除的键数量(始终为 0)
- expire(session_id: str, expiration: int) bool[源代码]
设置 Session 过期时间
- 参数:
session_id -- Session ID
expiration -- 过期时间(秒)
- 返回:
是否设置成功
- get(session_id: str) Session | None[源代码]
获取 Session
- 参数:
session_id -- Session ID
- 返回:
Session 对象,如果不存在则返回 None
- class litefs.session.RedisSession(redis_client=None, host: str = 'localhost', port: int = 6379, db: int = 0, password: str | None = None, key_prefix: str = 'litefs:session:', expiration_time: int = 3600, **kwargs)[源代码]
基类:
objectRedis Session 实现
使用 Redis 作为 Session 存储,提供高性能的分布式缓存支持
- expire(session_id: str, expiration: int) bool[源代码]
设置 Session 过期时间
- 参数:
session_id -- Session ID
expiration -- 过期时间(秒)
- 返回:
是否设置成功
- get(session_id: str) Session | None[源代码]
获取 Session
- 参数:
session_id -- Session ID
- 返回:
Session 对象,如果不存在则返回 None
- class litefs.session.Session(session_id=None, store=None)[源代码]
基类:
UserDictSession 数据对象
继承自 UserDict,用于存储单个 Session 的数据
- class litefs.session.SessionBackend[源代码]
基类:
objectSession 后端类型
- DATABASE = 'database'
- MEMCACHE = 'memcache'
- MEMORY = 'memory'
- REDIS = 'redis'
- class litefs.session.SessionFactory[源代码]
基类:
objectSession 工厂
根据配置创建不同类型的 Session 实例
- static create_from_config(config) MemorySessionStore | DatabaseSession | RedisSession | MemcacheSession[源代码]
从配置对象创建 Session 实例
- 参数:
config -- 配置对象,应包含 session_backend 和相关配置
- 返回:
Session 实例
- static create_session(backend: str = 'memory', **kwargs) MemorySessionStore | DatabaseSession | RedisSession | MemcacheSession[源代码]
创建 Session 实例
- 参数:
backend -- Session 后端类型(memory, database, redis, memcache)
**kwargs -- Session 配置参数
- 返回:
Session 实例
- 抛出:
ValueError -- 不支持的 Session 后端
ImportError -- Redis 或 Memcache 包未安装
Submodules
litefs.session.session module
- class litefs.session.session.MemorySessionStore(max_size: int = 1000000)[源代码]
基类:
object内存 Session 存储
使用内存作为 Session 存储,适合开发环境
- expire(session_id: str, expiration: int) bool[源代码]
设置 Session 过期时间
注意:内存 Session 不支持过期时间,此方法始终返回 False
- 参数:
session_id -- Session ID
expiration -- 过期时间(秒)
- 返回:
是否设置成功
- get(session_id: str) Session | None[源代码]
获取 Session
- 参数:
session_id -- Session ID
- 返回:
Session 对象,如果不存在则返回 None