pai 的redis存储

11.17

Redis 存储的数据类型和用途

1.JWT Token 管理 (TokenCacheService.java:28-32)

  • jwt:valid:{tokenId} - 有效token信息 (Hash, TTL动态)
  • jwt:user:{userId}:tokens - 用户token集合 (Set, TTL动态)
  • jwt:refresh:{refreshTokenId} - 刷新token信息 (Hash, TTL动态)
  • jwt:blacklist:{tokenId} - token黑名单 (String, TTL动态)

2.用户会话管理 (RedisRepository.java:25,38 & ChatHandler.java:226,230)

  • user:{userId}:current_conversation - 用户当前会话ID (String, TTL 7天)
  • conversation:{conversationId} - 会话历史记录 (JSON String, TTL 7天)

3.组织权限缓存 (OrgTagCacheService.java:29-31)

  • user:org_tags:{username} - 用户组织标签列表 (List, TTL 24小时)
  • user:primary_org:{username} - 用户主组织 (String, TTL 24小时)
  • user:effective_org_tags:{username} - 用户有效标签权限 (List, TTL 24小时)

4.文件上传分片追踪 (UploadService.java:347,373)

  • file_upload_progress:{fileIdentifier} - 文件上传进度位图 (BitMap)
    • 使用 Redis Bitmap 追踪每个分块的上传状态
    • 每个bit代表一个chunk是否已上传

5.Redis 配置

  • 连接: localhost:6379 (application.yml:17-20)
  • 序列化: Key使用StringRedisSerializer, Value使用GenericJackson2JsonRedisSerializer (RedisConfig.java:17-18)

主要用途总结

复制代码
1. **认证授权 - JWT token状态管理、黑名单机制**
2. **会话管理 - 聊天会话持久化、用户会话追踪**
3. **权限缓存 - 多租户组织标签缓存、权限验证优化**
4. **文件处理 - 大文件分片上传状态追踪**
5. **性能优化 - 减少数据库查询、提升响应速度**

所有数据都设置了合理的TTL过期时间,确保Redis内存使用的可持续性。

相关推荐
Yeats_Liao18 小时前
Feed流系统设计(三):数据模型与存储设计,从表结构到Redis收件箱
java·javascript·redis
IronMurphy19 小时前
【算法五十七】146. LRU 缓存
算法·缓存
茉莉玫瑰花茶19 小时前
综合案例 - AI 智能租房助手 [ 5 ]
服务器·数据库·人工智能·python·ai
ywl47081208719 小时前
jwt生产token,简单版helloworld
java·数据库·spring
器灵科技19 小时前
AI视频工具实测:Seedance/可灵/HappyHorse谁最能打?
java·运维·数据库·人工智能·github
huangdong_20 小时前
京东商品图片视频批量下载与m3u8视频合并技术完整实现方案
大数据·前端·数据库
倒流时光三十年20 小时前
PostgreSQL CASE 条件表达式详解
数据库·postgresql
字节跳动数据平台20 小时前
营销视频进入工业化时代,火山引擎多模态数据湖如何助力多米实现内容生产提效 100+ 倍
数据库
健康平安的活着21 小时前
mysql中数据库脚本太大,通过脚本命令修改db名称
数据库·mysql
伊甸321 小时前
从企业级项目学敏感词过滤:DFA算法与双层缓存实战
java·算法·缓存