集成东方通 TongRDS
SpringBoot版本:4.x
JDK版本:17
本文为认证测试专用新文档,实际安装介质为
D:\东方通\信创国产化适配软件\TongRDS_2.2.1.9.zip,中心节点和服务节点均使用D:\东方通\center.lic。
本文针对 SpringBoot 4 版本(
jakarta.*命名空间、JDK17+)。SpringBoot 3 版本请参考《集成东方通TongRDS》。
SpringBoot 4 的 Redis 配置位于
spring.data.redis.*,从旧工程迁移时务必核对配置前缀。
TongRDS介绍
TongRDS(简称 RDS)是分布式内存数据缓存中间件,用于高性能内存数据共享与应用支持。RDS为各类应用提供高效、稳定、安全的内存数据处理能力;同时它支持共享内存的搭建弹性伸缩管理;使业务应用无需考虑各种内存的复杂管理。
TongRDS采用Java语言纯自研架构,且完成了大量国产环境兼容适配性测试,对国产环境有很好的兼容性。
TongRDS内核完全自研,避免了Redis安全漏洞和接口后门,并且提供了国密加密技术,因此保证了更好的数据安全。
TongRDS完全兼容Redis中间件,应用迁移成本几乎为零。
一、TongRDS安装部署(单机)
部署模式
RDS 设计上完全兼容 Redis 的各种部署模式,主要有两种:
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 单节点 | 单个RDS节点,不提供数据持久化和备份 | 开发测试环境,或数据可靠性要求不高的纯缓存场景 |
| 集群 | 最少6节点(3主3从),虚拟槽分区,自动故障转移 | 生产环境 |
下文采用单节点部署模式演示,生产环境请使用集群部署方式。
1. 上传安装包
本次认证使用 D:\东方通\信创国产化适配软件\TongRDS_2.2.1.9.zip,解压后使用其中两个绿色版部署包:
TongRDS-2.2.1.9.Node.tar.gz— RDS服务节点部署包TongRDS-2.2.1.9.MC.tar.gz— RDS中心节点部署包
本次部署使用 D:\东方通\center.lic。上传前不要修改授权文件的名称和内容。
# 在服务器上创建部署目录
mkdir -p /opt/TongRDS
# 上传安装包和license文件
TongRDS-2.2.1.9.MC.tar.gz
TongRDS-2.2.1.9.Node.tar.gz
center.lic

2. 部署中心节点
cd /opt/TongRDS
# 解压中心节点部署包(会创建pcenter目录)
tar -zxvf TongRDS-2.2.1.9.MC.tar.gz
解压后目录结构:
/opt/TongRDS/pcenter/
├── bin/ # 启动脚本
├── etc/ # 配置文件
├── lib/ # 依赖库
└── ...
将license文件放入中心节点目录:
cp /opt/TongRDS/center.lic /opt/TongRDS/pcenter/

license文件具体存放路径以TongRDS版本文档为准,部分版本可能存放在etc或license子目录。
修改中心节点配置 pcenter/etc/cluster.properties:
vi /opt/TongRDS/pcenter/etc/cluster.properties
配置内容:
WebSession.type=register
# 配置一个服务节点
WebService.nodes=1
# node0改为服务节点的IP和端口
WebService.node0=127.0.0.1:6200
node0的 IP 和端口需与后续服务节点配置一致。如果中心节点与服务节点在同一台服务器上,使用127.0.0.1:6200即可。测试报告截图: 截取
cluster.properties中上述三项配置,确保register、节点数量和节点地址清晰可见。
启动中心节点:
cd /opt/TongRDS/pcenter/bin
# 启动中心节点
./StartCenter.sh
看到以下内容时,代表中心节点启动完成:
Server TongRDS Center(2026-06-15 07:14:44) is starting up
CenterService start at 6300
SentinelService start at *:26379
Center start.
RestService start at 8086
Server run in standalone(1)

必须先确认中心节点已经正常启动,再启动服务节点。中心节点未启动时,服务节点连接 Center 失败,可能出现 License 初始化异常。
3. 部署服务节点
cd /opt/TongRDS
# 解压服务节点部署包(会创建pmemdb目录)
tar -zxvf TongRDS-2.2.1.9.Node.tar.gz
解压后目录结构:
/opt/TongRDS/pmemdb/
├── bin/ # 启动脚本、客户端工具
├── etc/ # 配置文件
├── lib/ # 依赖库
└── ...
将同一个 center.lic 复制到服务节点根目录:
cp /opt/TongRDS/center.lic /opt/TongRDS/pmemdb/
ls -l /opt/TongRDS/pmemdb/center.lic
测试报告截图: 截取
pmemdb/center.lic已正确就位的文件列表,不要展示 License 文件内容。
![]()
修改服务节点配置 pmemdb/etc/cfg.xml:
vi /opt/TongRDS/pmemdb/etc/cfg.xml
在<Common>节点中配置单次命令允许返回的最大条目数:
<Common>
<!-- 0(或小于0)表示不限制返回条目数,避免JeecgBoot批量清理缓存时报错 -->
<MaxItemsReturned>${Server.Common.MaxItemsReturned:0}</MaxItemsReturned>
</Common>
TongRDS 2.2.1.9默认将Server.Common.MaxItemsReturned限制为10000。JeecgBoot在修改字典、部门或权限等数据时,@CacheEvict(allEntries=true)可能触发整组缓存清理;匹配的缓存Key数量超过限制后,后端会出现以下异常:
io.lettuce.core.RedisCommandExecutionException:
ERR the number of keys maybe greater than Server.Common.MaxItemsReturned(10000)
仅将限制提高到50000仍可能在缓存数量继续增长后再次报错。根据TongRDS配置参数定义,认证测试环境可将该值设置为0(不限制)。修改已有配置可执行:
cd /opt/TongRDS/pmemdb/etc
# 修改前备份
cp cfg.xml cfg.xml.bak.$(date +%Y%m%d%H%M%S)
# 已存在MaxItemsReturned时更新为0
sed -i 's#<MaxItemsReturned>.*</MaxItemsReturned>#<MaxItemsReturned>${Server.Common.MaxItemsReturned:0}</MaxItemsReturned>#' cfg.xml
# 检查配置
grep -n -B 2 -A 2 'MaxItemsReturned' cfg.xml
如果cfg.xml中尚不存在该节点,可在<Common>节点的<MaxValueLength>配置后插入:
sed -i '/<MaxValueLength>/a\
<MaxItemsReturned>${Server.Common.MaxItemsReturned:0}</MaxItemsReturned>' cfg.xml
修改后需重启服务节点:
cd /opt/TongRDS/pmemdb/bin
./StopServer.sh
./StartServer.sh
ss -tlnp | grep -E '6200|6379'
MaxItemsReturned=0适合本次独立认证测试环境。生产环境不建议长期执行大范围KEYS命令,应优先将应用的批量缓存清理改为基于SCAN的分页实现,避免一次返回大量Key阻塞缓存服务。
找到<Listen>节点,确认配置完整(不要删减默认项,否则 Redis 协议无法正常响应):
<!-- 如果需要外部访问,必须填写白名单-->
<Listen>
<Port>6200</Port>
<Threads>8</Threads>
<MaxConnections>${Server.Listen.MaxConnections:1000}</MaxConnections>
<Backlog>1024</Backlog>
<!-- 0: telnet; 1: SSL; 2: password; 3: SSL + password. default is 1 -->
<Secure>${Server.Listen.Secure:0}</Secure>
<Password>${Server.Listen.Password:537cb0e6b7fbad3b75f2245e61b4d2e4}</Password>
<RedisPort>6379</RedisPort>
<RedisPlainPassword>${Server.Listen.RedisPlainPassword:true}</RedisPlainPassword>
<RedisPassword>${Server.Listen.RedisPassword:123456}</RedisPassword>
</Listen>

启动服务节点:
cd /opt/TongRDS/pmemdb/bin
# 赋予执行权限
chmod +x *.sh
# 启动服务节点
./StartServer.sh
看到以下内容时,代表服务节点启动完成:
Server TongRDS Node(2026-06-16 10:19:50) belonging to 'WebSession' is starting...
Memory cache create ok.
Start reading data from rdb files...
Rdb files read completed.
Begin to listen 6200
Try to connect to the Center...
SoKeepalive has been set up on port 6379
Begin to listen 6379
Server started.

确认端口监听正常:
ss -tlnp | grep -E '6200|6379'

4. 开放防火墙端口
# 开放RDS服务端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
# 确认端口已开放
firewall-cmd --list-ports
同时在腾讯云控制台的安全组中放行6379端口(入站规则)。
如果
JeecgBoot后端与TongRDS部署在同一台服务器上,无需开放防火墙端口,使用127.0.0.1连接即可。
二、JeecgBoot集成配置
TongRDS完全兼容Redis协议,JeecgBoot无需额外引入依赖或改动代码,只需将Redis连接配置指向TongRDS即可。
1. 修改Redis连接配置
打开JeecgBoot项目配置文件application-dev.yml(或application-prod.yml),修改Redis连接配置:
非SSL连接(默认):
spring:
data:
redis:
# JeecgBoot与TongRDS同机时使用127.0.0.1;同一私有网络优先使用10.206.32.16
host: <TongRDS服务器IP>
port: 6379
password: 123456
ssl:
enabled: false
SSL加密连接(已配置证书时):
spring:
data:
redis:
host: <TongRDS服务器IP>
port: 6379
password: 123456
ssl:
enabled: true
注意:SpringBoot 4 的 Redis 配置前缀为
spring.data.redis.*。如果从旧版本迁移,务必核对配置前缀,否则连接不上。
2. 启动项目
- 1、启动
JeecgBoot后端项目,确认启动日志中无Redis连接相关报错。 - 2、启动前端项目,访问登录页面,登录操作正常。
- 启动成功

- 登录页

- 首页

3. 验证缓存数据
使用TongRDS自带的客户端工具查看缓存数据:
cd /opt/TongRDS/pmemdb/bin
# 非SSL连接(-r 表示 Redis 协议模式,必须加)
# 如果未配置密码认证,不加 -a 参数
./Client.sh -r -p 6379 ping
# 如果配置了密码认证
./Client.sh -r -p 6379 -a 123456 ping
# SSL连接
./Client.sh -r -p 6380 -s ping
# 进入交互模式(带密码)
./Client.sh -r -p 6379 -a 123456
> keys *

缓存数据已正常存入RDS中,至此JeecgBoot集成TongRDS完成。