我在Redis中有不同的型号键。
我使用这些模板存储值;
client.on('message', (message) => {
function msg_send(content) {
return message.channel.send(content);
}
const msg = message.content;
if (msg.includes("I'm home")) return msg_send("Welcome home!");
});
client.login("token");
这就是我存储值的方式:
public RedisTemplate<String, Model1> model1RedisTemplate() {
RedisTemplate<String, Model1> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(connectionFactory());
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Model1.class));
return redisTemplate;
}
public RedisTemplate<String, Model2> model2RedisTemplate() {
RedisTemplate<String, Model2> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(connectionFactory());
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Model2.class));
return redisTemplate;
}
现在我想使用一个model1RedisTemplate.opsForValue().set(model1.getId(), model1);
model2RedisTemplate.opsForValue().set(model2.getId(), model2);
我该怎么做?
答案 0 :(得分:0)
没有使用redisTemplate从Redis获取所有值的本地方法
但是您可以使用以下方法:
public List<String> getAllValues(){
Set<String> keys = redisTemplate.keys("*");// you can use any specific pattern of key
return redisTemplate.opsForValue().multiGet(keys);
}