redisTemplate 存储json数据
时间: 2023-05-18 19:07:25 浏览: 52
可以使用redisTemplate的opsForValue()方法将json数据存储到Redis中,示例代码如下:
```
redisTemplate.opsForValue().set("key", "{\"name\":\"John\", \"age\":30}");
```
其中,"key"为存储的键名,"{\"name\":\"John\", \"age\":30}"为json格式的数据。
注意:在存储json数据时,需要将json数据转换为字符串格式。
相关问题
使用redisTemplate存的数据json数据双引号redis会自动转义,怎么解决
RedisTemplate 存储 JSON 数据时,Redis 会自动对双引号进行转义,导致存储的数据和原始的 JSON 数据不一致。解决方法有以下两种:
1. 使用序列化方式存储
可以在 RedisTemplate 中设置序列化方式,将存储的 JSON 数据序列化成字节数组或字符串存储。常用的序列化方式有 Jackson、FastJson、Gson 等,具体使用方法可以参考各自的官方文档。
2. 手动转义双引号
在存储 JSON 数据之前,手动对双引号进行转义,例如使用 String 类的 replace 方法将双引号替换成转义后的字符。在读取数据时,再将转义后的字符转换回双引号即可。
示例代码:
```
String json = "{\"name\":\"张三\",\"age\":18}";
json = json.replace("\"", "\\\"");
redisTemplate.opsForValue().set("json", json);
String storedJson = redisTemplate.opsForValue().get("json");
String originalJson = storedJson.replace("\\\"", "\"");
```
上述代码将原始的 JSON 数据进行了双引号转义后存储到 Redis 中,读取数据时再将转义字符替换回双引号,得到原始的 JSON 数据。
redistemplate存储list集合
RedisTemplate可以方便地存储List类型的集合。使用RedisTemplate的opsForList()方法可以进行List的相关操作。比如,使用range方法可以获取缓存中的指定区间数据。
如果要将List转换为JSON对象进行存储,可以使用com.alibaba.fastjson.JSON和com.alibaba.fastjson.JSONObject来进行转换。首先要导入这两个类,然后使用StringRedisTemplate来存储List转换后的JSON字符串。具体的代码如下所示:
```java
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@Autowired
private StringRedisTemplate stringRedisTemplate;<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [使用RedisTemplate缓存List的一系列操作示例](https://blog.csdn.net/weixin_42216142/article/details/93514503)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [java 用redisTemplate 的 Operations存取list集合](https://blog.csdn.net/weixin_30315723/article/details/101726536)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]