python - Redis 向事务中的集合添加元素值

标签 python transactions redis

我是 redis 的新手,我正在尝试在交易中执行以下操作:

增量键 将之前的增量值添加到集合中

使用redis命令会是这样的

multi
i = incr "value"
sadd "set" i
exec

是否有任何 redis 命令可以在不需要两个事务和处理代码(在我的例子中是 python 代码)中的值的情况下一步完成?

非常感谢

最佳答案

不幸的是,您不能直接这样做。您可以通过以下方式使用 MULTI/EXEC block 来保证查询的原子性:

do {
    WATCH value
    i = 1 + GET value
    MULTI
    set value i
    SADD set i
    result = EXEC
} while (result == nil)

关于python - Redis 向事务中的集合添加元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8317093/

相关文章:

python - 遍历字符串列表,从每个字符串项中删除所有禁用词

python - 设置 Tensorflow 对象检测

python - 如何让redis缓存和mysql的数据保持一致?

java - Redisson分布式可重入锁异常

spring - JedisConnectionFactory 的方法已弃用。在 Spring Batch 中使用哪些 XML 配置?

python - 通过python将图像嵌入到xls表中

python - MongoDB - 如何将 ObjectId 和日期时间显示为字符串(使用 bson.json_util)

mysql - @transactional、wildfly、mysql(innodb) ejb 不回滚

java - 如何处理@Transactional注解引发的异常

MySql:在提交之前选择插入同一事务中的一行