SessionCallback & RedisCallback 的作用是:让RedisTemplate进行回调,通过它们可以在同一条连接下执行多个Redis命令。
Before
redisTemplate.opsForValue().set("key0", "value0");
redisTemplate.opsForHash().put("hash0", "field", "test");
SessionCallback
redisTemplate.execute(new SessionCallback() {
@Override
public Object execute(RedisOperations redisOperations) throws DataAccessException {
redisOperations.opsForValue().set("key2", "value2");
redisOperations.opsForHash().put("hash2", "field", "test");
return null;
}
});
RedisCallback
redisTemplate.execute((RedisConnection redisConnection) -> {
redisConnection.set("key1".getBytes(), "value1".getBytes());
redisConnection.hSet("hash1".getBytes(), "field".getBytes(), "test".getBytes());
return null;
});