当前位置: 首页 > 知识库问答 >
问题:

在集群模式下的spring data redis中是否支持事务(multi、exec)?

蓬思博
2023-03-14

我已经成功地在一个redis实例中使用multi和exec功能在redis中实现了(并测试了)事务操作。但是,在集群安装程序中运行的相同代码出错,出现以下异常消息。我使用spring-data-redis-1.8.1.release和jedis-2.9.0。

Exception in thread "main" org.springframework.dao.InvalidDataAccessApiUsageException: MUTLI is currently not supported in cluster mode.
    at org.springframework.data.redis.connection.jedis.JedisClusterConnection.multi(JedisClusterConnection.java:2457)
    at org.springframework.data.redis.connection.DefaultStringRedisConnection.multi(DefaultStringRedisConnection.java:608)
    at org.springframework.data.redis.core.RedisTemplate$21.doInRedis(RedisTemplate.java:871)
    at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:207)
    at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:169)
    at org.springframework.data.redis.core.RedisTemplate.multi(RedisTemplate.java:868)
    at com.glu.centech.chat.RedisClusterTest$1.execute(RedisClusterTest.java:58)
    at com.glu.centech.chat.RedisClusterTest$1.execute(RedisClusterTest.java:1)
    at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:229)
    at com.glu.centech.chat.RedisClusterTest.main(RedisClusterTest.java:55)

当前在集群模式下的spring data redis中是否支持事务(multi、exec)?如果是的话,我错过了什么?如果没有,是否有任何解决方案,或者何时支持它?

共有1个答案

拓拔弘厚
2023-03-14

Spring Data Redis没有对Redis集群的事务支持,您不应该期望它能够实现。请参见是否有任何Redis客户端(Java优先)支持Redis集群上的事务?供进一步参考。

 类似资料:
  • 我是redis的新手,我刚刚使用redis几个月了。目前我使用的是2.8.x稳定版本,但我试图使用3.0.0来导入redis集群功能。我使用java jedis作为客户机,这是我的问题:我发现jedis client的最新版本支持redis cluster lua脚本(jediscluster.evalsha),但我在哪里都找不到管道和事务相关的函数,所以我想知道是jedis还没有实现它(管道、事

  • 相机是否支持HDR模式的采集

  • 问题内容: 我集中精力查看在线,但是找不到提供此功能的成熟Redis客户端。只发现了这个项目。任何人都知道Redis客户提供上述内容吗?谢谢。 问题答案: Redis集群中的事务与Redis Standalone的事务不同。 与客户问题相比,这更多是关于担保和权衡的概念性问题。 说明 在Redis群集中,特定节点是一个或多个哈希槽的主节点,这是在多个节点之间分片数据的分区方案。根据命令中使用的键计

  • Redis streams是否受益于群集模式?假设您有10个流,它们是分布在集群中还是全部分布在同一个节点上?我计划使用Redis streams实现真正的高吞吐量(每秒200万条消息),因此我担心Redis streams在这种规模下的性能。 如果Redis streams不能在集群模式下进行开箱即用的扩展,那么任何关于水平扩展Redis streams的指导都会非常棒。

  • nosql数据库具有无模式属性,因此我们可以向节点或关系添加任何字段/属性。但是如果我使用Spring数据作为框架,我必须预先定义节点和关系对象的字段。Spring数据Neo4j似乎不支持动态插入字段...是真的吗?