public class StringRedisTemplate extends RedisTemplate<String, String>
public class RedisTemplate<K, V> extends RedisAccessor implements RedisOperations<K, V>, BeanClassLoaderAware {
private boolean enableTransactionSupport = false;
public void setEnableTransactionSupport(boolean enableTransactionSupport) {
this.enableTransactionSupport = enableTransactionSupport;
}
}
可以看出默认的RedisTemplate及其子类并没有开启事务支持,也就是说当spring事务管理的方法内出现了异常,redis操作是不会回滚的,所以需要调用setEnableTransactionSupport方法开启事务,在自定义RedisTemplate类时要注意
默认情况下,StringRedisTemplate及其基类RedisTemplate不启用事务支持。在遇到异常时,Redis的操作不会回滚。为实现事务功能,需调用setEnableTransactionSupport设置为true。在创建自定义RedisTemplate实例时,应注意开启此选项以确保事务行为。
1287

被折叠的 条评论
为什么被折叠?



