stringRedisTemplate.opsForValue().set(RedisKeyConstants.LESSEE,JsonUtils.toJsonString(map),如何获取到map);
时间: 2024-10-16 15:08:03 浏览: 19
LEASE AGREEMENT.doc
在使用Spring Data Redis的`stringRedisTemplate`操作字符串值时,如果你想设置一个Map并稍后获取它,你需要按照以下步骤操作:
1. 首先,你需要创建一个Map对象,并将其转换为JSON字符串。这里假设`JsonUtils`是一个工具类,用于将Map转换为JSON。
```java
Map<String, Object> map = ...; // 初始化你的map数据
String jsonStr = JsonUtils.toJsonString(map); // 将map转换为JSON字符串
RedisKeyConstants.LESSEE = "lessee_key"; // 设置Redis键名
stringRedisTemplate.opsForValue().set(LESSEE, jsonStr); // 将JSON字符串存储到Redis
```
2. 当需要从Redis获取Map时,你可以通过相同的键名调用`opsForValue()`的`get()`方法,然后解析返回的JSON字符串回原来的Map结构。
```java
// 从Redis中获取JSON字符串
String retrievedJsonStr = stringRedisTemplate.opsForValue().get(LESSEE);
// 如果你想手动解析JSON,可以这样做:
Map<String, Object> retrievedMap = JsonUtils.fromJson(retrievedJsonStr, Map.class); // 解析JSON回Map
```
如果`JsonUtils.fromJson()`直接支持你的Map内容,那么这一步会自动完成。注意,如果`get()`返回null,那说明该键在Redis中不存在,或者之前设置失败了。
阅读全文