springboot如何在redis里存入HashMap又取出HashMap代码 public HashMapString Object getHashMapString key return HashMapString Object redisTemplateopsForHashentrieskey; 中的 return HashMapString Object re
在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。
注意事项:
- 需要将
RedisTemplate注入到类中,确保能够操作Redis。 - 使用
HashOperations来操作Redis中的Hash数据结构。 hashOperations.putAll(key, hashMap)用于将整个HashMap存储到Redis中。hashOperations.entries(key)用于获取Redis中指定key对应的整个HashMap。- 由于Redis返回的是
Map类型,需要手动转换为HashMap类型并返回。
如果在return (HashMap<String, Object>) redisTemplate.opsForHash().entries(key);这行代码中出现了红色波浪线,可能是因为编译器无法确定返回类型的确切类型,可以使用上述代码替换
原文地址: http://www.cveoy.top/t/topic/iPgE 著作权归作者所有。请勿转载和采集!