阿里云Tair script_check_enable 与 Redisson 看门狗冲突

问题描述:
我们的生产环境使用阿里云 Tair(兼容 Redis),在 JDK 21 + Spring Boot 3.3.5 + Redisson 3.35.0 环境下,Redisson 的看门狗机制(Watchdog)无法正常工作。

错误信息:
ERR bad lua script for redis cluster, first parameter of redis.call/redis.pcall must be a single literal string.

根本原因:
Redisson 看门狗的 Lua 脚本使用 redis.call(ARGV[4], KEYS[2], ARGV[1]) 方式调用命令,而阿里云 Tair 的 script_check_enable=1 参数要求第一个参数必须是字面量字符串(如 redis.call('PUBLISH', ...))。

影响范围:

  • 所有使用 Redisson 分布式锁且依赖看门狗机制的应用
  • 无法通过降级 Redisson 版本解决(因为需要兼容 Spring Boot 3.x)

明确请求:

  1. 请提供官方推荐的 Redisson 版本矩阵,明确哪些版本与阿里云 Tair 兼容
  2. 提供具体的配置方案(JDK 21 + Spring Boot 3.3.5 + Redisson + Tair)

技术栈详情:

  • JDK: 21
  • Spring Boot: 3.3.5
  • Redisson: 3.35.0 (redisson-spring-data-30)
  • 阿里云产品: 云数据库 Tair(兼容 Redis)

业务影响:
此问题导致分布式锁功能异常,影响核心业务同步流程,属于高优先级生产问题

展开
收起
1455409951513419 2026-03-17 16:00:54 24 分享 版权
0 条回答
写回答
取消 提交回答

阿里云NoSQL数据库提供了一种灵活的数据存储方式,可以支持各种数据模型,包括文档型、图型、列型和键值型。此外,它还提供了一种分布式的数据处理方式,可以支持高可用性和容灾备份。包含Redis社区版和Tair、多模数据库 Lindorm、MongoDB 版。

还有其他疑问?
咨询AI助理