2015-03-19 17 views
1

我想我可能會錯過一些大的東西,但是如何使用Spring Data Redis來對給定的鍵進行原子遞減?彈簧數據redis原子整型變量鍵名

RedisAtomicLongRedisAtomicInteger綁定到我們指定的密鑰,同時實例化它們。

我會如何對我選擇的任何鍵進行原子減量?

我必須求助於多執行器嗎?在香草redis中,我可以通過簡單地使用DECR命令自動減少任何鍵,而不使用多個exec。我在這裏錯過了什麼嗎?

謝謝, Richard。

回答

3

如果您想通過動態密鑰,你可以做遞減以下

// inject the actual template 
@Autowired 
private RedisTemplate<String, Integer> template; // This can be RedisTemplate<String, Long> also based on your need 

// inject the template as ValueOperations 
@Resource(name="redisTemplate") 
private ValueOperations<String, Integer> valueOps; 

public Integer decrement(String key) { 
    return ((Long)valueOps.increment(key, -1l)).intValue(); 
} 
+0

嗨,但這樣做也不可能用一個簡單的StringRedisTemplate?我的意思是,如果我所要做的只是增加一個負值,那麼是否有必要使用整數/長整型模板? – user2076066 2015-03-19 14:08:27