SpringBoot实用开发(六)-- RedisTemplate处理Hash类型的数据

时间:2025-04-04 12:46:01

目录

1.以map集合的形式添加键值对

2.获取变量中的键值对

3.查看hash表中指定字段是否存在

4.获取变量中的指定map键是否有值,如果存在该map键则获取值,没有则返回null

5.新增hashMap值

6.仅当hashKey不存在时才设置

7.删除一个或者多个hash表字段

8.给哈希表key中的指定字段的整数值加上增量increment

9.获取所有hash表中字段

10.获取hash表中字段的数量

11.获取hash表中存在的多个值

12.匹配获取键值对,为获取全部键对


  1. @SpringBootTest
  2. class SpringBootQuick01ApplicationTests {
  3. @Autowired
  4. private RedisTemplate redisTemplate;
  5. @Test
  6. void get() {
  7. HashOperations hashOperations = ();
  8. }
  9. }

Redis hash 是一个String类型的field和value的映射表,hash特别适合用于存储对象;


Redis 中每个 hash 可以存储 2^32 - 1 键值对(40多亿); 

1.以map集合的形式添加键值对

().putAll(key, maps); // Map<String, String> maps

 

2.获取变量中的键值对

Map<Object, Object> ().entries(key);

3.查看hash表中指定字段是否存在

Boolean ().hasKey(key, field);

4.获取变量中的指定map键是否有值,如果存在该map键则获取值,没有则返回null

().get(key, field);

5.新增hashMap值

().put(key, hashKey, value);

6.仅当hashKey不存在时才设置

Boolean ().putIfAbsent(key, hashKey, value);

7.删除一个或者多个hash表字段

Long ().delete(key, fields); // Object... fields

8.给哈希表key中的指定字段的整数值加上增量increment

  1. public Double hIncrByDouble(String key, Object field, double delta) {
  2. return ().increment(key, field, delta);
  3. }
  4. public Long hashIncrBy(String key, Object field, long increment) {
  5. return ().increment(key, field, increment);
  6. }

9.获取所有hash表中字段

().keys(key);

10.获取hash表中字段的数量

().size(key);

11.获取hash表中存在的多个值

List<Object> ().values(key);

12.匹配获取键值对,为获取全部键对

  1. public Cursor<Entry<Object, Object>> hashScan(String key, ScanOptions options) {
  2. return ().scan(key, options);
  3. }

如果对你有帮助,请帮我点一下赞,我才有动力继续创作,谢谢!