5

我正在使用 Spring 的 RedisTemplate 与 Redis 交互。

目前,我存储在 Redis 中的数据使用 OpsForHash 操作,因为这最适合我存储的数据。

但现在我想添加不同结构的数据,即 Key -> List

因此,我是否应该在每个 daos 中有不同的 RedisTemplate 实例(根据需要进行参数化)但连接到同一个 Redis 实例?那是对的吗?或者我应该有一个共享的 RedisTemplate 实例,我可以使用它来存储散列结构数据和列表结构数据?如果是后者,当我受到实例参数化的限制时,我该怎么做?即目前我有

键(字符串)-> 映射

现在我想添加

键(字符串)--> 列表

这可能使用单个 RedisTemplate 吗?

谢谢!

4

2 回答 2

7

Since your key type is String in both cases, you should be able to use the same instance of RedisTemplate, assuming you've parameterized RedisTemplate with the value type of your List. For example:

RedisTemplate<String, String> template;
// Hash Key/Value types can be anything as long as the proper serializers are set
HashOperations<String,String,Integer> hashOps = template.opsForHash();
hashOps.put("foo", "bar", 3);
// List value types are taken from RedisTemplate parameterization
ListOperations<String,String> listOps = template.opsForList();
listOps.leftPush("foolist", "bar");
于 2013-04-15T16:54:57.563 回答
0

提供的第一个解决方案对我不起作用。但我确实找到了解决方案并将其发布为另一个问题的解决方案

查看此答案https://stackoverflow.com/a/30484834/4671737

于 2015-05-27T14:23:27.353 回答