Redis 常用类型和使用

1、hash 使用场景

  如果多个 Key 属于同一类别(如不同 API 接口、不同用户的同一行为),可将它们存储在一个 Hash 中,减少内存占用并方便批量操作。

  1)如记录统计多个接口请求量,有【key: 统一Key,field:每个接口名称,value:计数值】
  2)存放对象属性,如一个key 对应多个属性,获取时方便获取所有属性    
// 初始化 Hash 主 Key(若不存在)
stringRedisTemplate.opsForHash().putIfAbsent("api:request:counts", "getUsers", "0");
stringRedisTemplate.opsForHash().putIfAbsent("api:request:counts", "createOrder", "0"); 
// 请求 "getUsers" 接口时,计数 +1
stringRedisTemplate.opsForHash().increment("api:request:counts", "getUsers", 1); 
// 请求 "createOrder" 接口时,计数 +1
stringRedisTemplate.opsForHash().increment("api:request:counts", "createOrder", 1); 
// 获取 "getUsers" 接口的当前请求次数
Object getUsersCount = stringRedisTemplate.opsForHash().get("api:request:counts", "getUsers"); 
// 获取所有接口的请求次数(返回 Map<Field, Value>)
Map<Object, Object> allCounts = stringRedisTemplate.opsForHash().entries("api:request:counts");

 

 
posted @ 2025-07-17 14:28  xiaoBai1001  阅读(8)  评论(0)    收藏  举报