使用RedisTemplate存储不同的数据(Spring)

时间:2013-04-13 10:14:44

标签: spring redis

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

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

但是现在我想添加一个不同结构的数据,即Key - >列表

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

Key(String) - >图

现在我想添加

Key(String) - >列表

使用单个RedisTemplate可以吗?

谢谢!

2 个答案:

答案 0 :(得分:5)

由于在两种情况下您的键类型都是String,因此您应该能够使用相同的RedisTemplate实例,假设您已使用List的值类型对RedisTemplate进行参数化。例如:

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");

答案 1 :(得分:0)

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

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