
解决Redis部署后数据乱码问题
本地Redis运行正常,但部署到服务器后,键名前缀和值出现乱码。经排查,乱码不影响读写,但业务需要通过其他服务删除键值,且服务器禁止使用keys命令,代码也无法动态获取键,只能硬编码删除操作。
为解决乱码,建议使用StringRedisTemplate,它能确保键值不乱码。由于值存储的是列表实体类JSON数据,需要在存储和读取阶段进行如下处理:
存储阶段:
json.toJSONString(baseModelList)
读取阶段:
String strip = StrUtil.strip(json, "\""); //去除首尾双引号 String unescape = StringEscapeUtils.unescapeJava(strip); //去除多余的转义符 JSON.parseArray(unescape, BaseModel.class); //解析为实体类列表
通过以上处理,数据乱码问题解决,前端数据显示正常。










