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");
                    
                
                
            
        
浙公网安备 33010602011771号