多个redistemplate_Spring RedisTemplate:使用与多个RedisTemplate相同的键来存储不同的值...

我是Redis的新手,想要用我现有的

spring应用程序实现它.

我的问题是使用不同的redisTemplate和相同的键来存储不同类型的值.

对于例如

我在spring中定义了redisTemplate1和redisTemplate2 bean,就像.

在我的服务的java文件中,我使用这两个redis模板创建了两个不同的数据结构.

@Autowired

@Qualifier(value = "redisTemplate1")

private RedisTemplate redisTemplate1;

@Autowired

@Qualifier(value = "redisTemplate2")

private RedisTemplate redisTemplate2;

并且,使用以下模式来存储数据.

redisTemplate1.opsForHash().put("KEY1", student.getId(), student);

redisTemplate2.opsForHash().put("KEY1", address.getId(), address);

情况是,我有每个表以1开头的主键.所以1是学生和地址的主键.

我正在使用下面的行让学生从数据存储中回来.

(Student) redisTemplate1.opsForHash().get("KEY1", 1);

但是,不幸的是它产生了一个例外.

java.lang.ClassCastException: com.redis.model.Address cannot be cast to com.redis.model.Student

所以,我的问题是,

>是否可以使用多个redis模板?

>如果是,我可以使用相同的密钥(每个模板唯一)来存储不同类型的数据并访问使用该模板和密钥存储的相同数据吗?

>如果没有,执行相同操作的替代方法是什么?

提前致谢.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值