RedisTemplate序列化的问题

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: RedisTemplate序列化的问题

1. 问题


在使用RedisTemplate 保存Set类型的数据时候出现保存的key和value被序列化了,


public long sSet(String key, String... values) {
    try {
        return redisTemplate.opsForSet().add(key, values);
    } catch (Exception e) {
        LOGGER.error("异常={}", e);
        return 0;
    }
}


例如期望存入的key是 ai_dcs:gray🏫set,结果存入的

smembers"\xac\xed\x00\x05t\x00\x16ai_dcs:gray🏫set"


1)“\xac\xed\x00\x05t\x00\x131010000001000000004”

2)“\xac\xed\x00\x05t\x00\x131110000001000000660”


key被序列化了,value也被序列化了


解决办法


换成stringRedisTemplate 之后在不会出现类似 这样的 \xac\xed\x00\x05t 的序列化符号


public long sSet(String key, String... values) {
    try {
        return stringRedisTemplate.opsForSet().add(key, values);
    } catch (Exception e) {
        LOGGER.error("异常={}", e);
        return 0;
    }
}

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
JSON NoSQL Java
redis的java客户端的使用(Jedis、SpringDataRedis、SpringBoot整合redis、redisTemplate序列化及stringRedisTemplate序列化)
这篇文章介绍了在Java中使用Redis客户端的几种方法,包括Jedis、SpringDataRedis和SpringBoot整合Redis的操作。文章详细解释了Jedis的基本使用步骤,Jedis连接池的创建和使用,以及在SpringBoot项目中如何配置和使用RedisTemplate和StringRedisTemplate。此外,还探讨了RedisTemplate序列化的两种实践方案,包括默认的JDK序列化和自定义的JSON序列化,以及StringRedisTemplate的使用,它要求键和值都必须是String类型。
redis的java客户端的使用(Jedis、SpringDataRedis、SpringBoot整合redis、redisTemplate序列化及stringRedisTemplate序列化)
|
6月前
|
存储 JSON NoSQL
[Redis]——RedisTemplate的两种序列化方式
[Redis]——RedisTemplate的两种序列化方式
316 0
|
存储 NoSQL Java
【Spring技术原理】分析探究RedisTemplate的序列化和反序列化+泛型机制
【Spring技术原理】分析探究RedisTemplate的序列化和反序列化+泛型机制
1061 0
|
缓存 NoSQL Java
SpringBoot自定义redisTemplate的key和value的序列化方式
SpringBoot自定义redisTemplate的key和value的序列化方式
158 0
|
NoSQL Java Redis
RedisTemplate的RedisSerializer(序列化)
RedisTemplate的RedisSerializer(序列化)
107 0
|
XML JSON NoSQL
Redis - RedisTemplate及4种序列化方式深入解读
Redis - RedisTemplate及4种序列化方式深入解读
1399 0
|
消息中间件 JSON 缓存
RedisTemplate&amp 序列化机制|学习笔记
快速学习 RedisTemplate&amp 序列化机制
154 0
|
存储 JSON NoSQL
【小家Spring】Redis序列化、RedisTemplate序列化方式大解读,介绍Genericjackson2jsonredisserializer序列化器的坑(中)
【小家Spring】Redis序列化、RedisTemplate序列化方式大解读,介绍Genericjackson2jsonredisserializer序列化器的坑(中)
【小家Spring】Redis序列化、RedisTemplate序列化方式大解读,介绍Genericjackson2jsonredisserializer序列化器的坑(中)
|
NoSQL Java fastjson
【小家Spring】Redis序列化、RedisTemplate序列化方式大解读,介绍Genericjackson2jsonredisserializer序列化器的坑(下)
【小家Spring】Redis序列化、RedisTemplate序列化方式大解读,介绍Genericjackson2jsonredisserializer序列化器的坑(下)
|
8天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。