在Spring Boot中使用Redis存储HashMap,以及取出HashMap的代码如下所示:

import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;

@Component
public class RedisHashMapExample {

    @Resource
    private RedisTemplate<String, Object> redisTemplate;

    public void saveHashMap(String key, HashMap<String, Object> hashMap) {
        HashOperations<String, String, Object> hashOperations = redisTemplate.opsForHash();
        hashOperations.putAll(key, hashMap);
    }

    public HashMap<String, Object> getHashMap(String key) {
        HashOperations<String, String, Object> hashOperations = redisTemplate.opsForHash();
        Map<String, Object> entries = hashOperations.entries(key);
        return new HashMap<>(entries);
    }
}

在上述代码中,saveHashMap方法用于将HashMap存储到Redis中,getHashMap方法用于从Redis中取出HashMap。

注意事项:

  1. 需要将RedisTemplate注入到类中,确保能够操作Redis。
  2. 使用HashOperations来操作Redis中的Hash数据结构。
  3. hashOperations.putAll(key, hashMap)用于将整个HashMap存储到Redis中。
  4. hashOperations.entries(key)用于获取Redis中指定key对应的整个HashMap。
  5. 由于Redis返回的是Map类型,需要手动转换为HashMap类型并返回。

如果在return (HashMap<String, Object>) redisTemplate.opsForHash().entries(key);这行代码中出现了红色波浪线,可能是因为编译器无法确定返回类型的确切类型,可以使用上述代码替换

springboot如何在redis里存入HashMap又取出HashMap代码 public HashMapString Object getHashMapString key return HashMapString Object redisTemplateopsForHashentrieskey; 中的 return HashMapString Object re

原文地址: http://www.cveoy.top/t/topic/iPgE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录