1. 程式人生 > >redis RedisTemplate實現樂觀鎖賦值

redis RedisTemplate實現樂觀鎖賦值

我們在高併發使用redis時,我們不止需要採用分散式事務的模式,還需要採用樂觀鎖保證資料安全。
redis樂觀鎖的實現一定要伴隨著redis事務。

話不多說直接上程式碼

redisTemplate.watch("key"); // 1
redisTemplate.multi();
redisTemplate.boundValueOps("key").set(""+id);
List<Object> list= redisTemplate.exec();
System.out.println(list);
if(list != null ){
    //操作成功
    System.out.println(id+"操作成功");
}else{
    //操作失敗
    System.out.println(id+"操作失敗");
}

注意: 使用spring整合redis需要開始事務配置

<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
    <!--&lt;!&ndash;開啟事務支援&ndash;&gt;-->
    <property name="enableTransactionSupport" value="true"/>
    ....
 <