SessionCallback 或者 RedisCallback,满足在一个redis链接中执行N条命令
问题
如下面这样2条命令,实际上会分别前后开启2个不同的链接去设置值
redisTemplate.opsForValue().set("azkey0", "azvalue0");
redisTemplate.opsForValue().set("azkey2", "azvalue2");
为了可以在一个redis链接中执行N条命令,我们可以使用 SessionCallback 或者 RedisCallback
SessionCallback
首先说SessionCallback,他比后者RedisCallback封装的更友好,实际开发中应当优先选择他:
redisTemplate.execute(new SessionCallback(){
@Override
public Object execute(RedisOperation ro) throw DataAccessException{
ro,opsForValue().set("azkey0", "azvalue0");
ro,opsForValue().put("hash", "field", "hazvalue0");
return null;
}
});
RedisCallback
其次是RedisCallback,他更加底层,需要处理的内容也更多,