Java JedisDataException:不允许在MULTI内部进行错误监视
我使用绝地来使用Redis数据库。该软件基于AWS服务,如Redis、SQS、SMS和Kubernetes及PODs等。 事实上,一切正常,但有一次我遇到了以下异常:“JedisDataException:ERR WATCH inside MULTI是不允许的”,这发生在代码中可见的地方。我无法再向Redis发出任何请求(无论我想使用哪种密钥)。重启吊舱后,一切正常。 我再也不能重现这个错误了 你知道有什么问题吗? 我怀疑它与aws sqs或POD的扩展和并发性有关 事件顺序为:事件-->aws:sns-->aws:sqs-->k8s:POD(java代码)-->为aws:redis添加值 多谢各位Java JedisDataException:不允许在MULTI内部进行错误监视,java,amazon-web-services,kubernetes,redis,jedis,Java,Amazon Web Services,Kubernetes,Redis,Jedis,我使用绝地来使用Redis数据库。该软件基于AWS服务,如Redis、SQS、SMS和Kubernetes及PODs等。 事实上,一切正常,但有一次我遇到了以下异常:“JedisDataException:ERR WATCH inside MULTI是不允许的”,这发生在代码中可见的地方。我无法再向Redis发出任何请求(无论我想使用哪种密钥)。重启吊舱后,一切正常。 我再也不能重现这个错误了 你知道有什么问题吗? 我怀疑它与aws sqs或POD的扩展和并发性有关 事件顺序为:事件-->aws
public boolean add(key, value) {
jedis.watch(key);
Transaction tx = jedis.multi();
tx.hsetnx(key, value, json);
if (tx.exec().size() == 0) {
LOGGER.warn("nothing executed...");
} else {
LOGGER.debug("add bike executed...");
}
jedis.resetState();
return true;
}