Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring数据redis原子整数变量键名_Java_Spring_Spring Data Redis - Fatal编程技术网

Java Spring数据redis原子整数变量键名

Java Spring数据redis原子整数变量键名,java,spring,spring-data-redis,Java,Spring,Spring Data Redis,我想我可能遗漏了一些重要的东西,但是如何使用SpringDataRedis对给定的键进行原子递减呢 RedisAtomicLong和RedisAtomicInteger绑定到我们在实例化它们时指定的键 我将如何在我选择的任何键上进行原子递减 我必须求助于multi-exec吗?在vanillarredis中,我可以通过简单地使用DECR命令,在不使用multi-exec的情况下自动递减任何键。我是不是遗漏了什么 谢谢, Richard。如果您想通过动态键进行递减,可以执行以下操作 // inje

我想我可能遗漏了一些重要的东西,但是如何使用SpringDataRedis对给定的键进行原子递减呢

RedisAtomicLong
RedisAtomicInteger
绑定到我们在实例化它们时指定的键

我将如何在我选择的任何键上进行原子递减

我必须求助于multi-exec吗?在vanillarredis中,我可以通过简单地使用DECR命令,在不使用multi-exec的情况下自动递减任何键。我是不是遗漏了什么

谢谢,
Richard。

如果您想通过动态键进行递减,可以执行以下操作

// 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();
}
//插入实际模板
@自动连线
私有模板模板;//这也可以根据您的需要进行调整
//将模板作为ValueOperations注入
@资源(name=“redisTemplate”)
私人物业估价业务;
公共整数递减(字符串键){
返回((长)valueOps.increment(键,-1l)).intValue();
}

Hi,但是使用简单的StringRedis模板也不可能做到这一点吗?我的意思是,如果我所要做的就是增加一个负值,那么有必要使用整型/长型模板吗?