信创缓存中间件TongRDS(Redis平替)安装、接入SpringBoot全流程

TongRDS 是由东方通开发的国产 分布式内存数据缓存中间件,功能类似于 Redis,但它是完全自主研发的国产产品,是国内信创的一大重要组件。它兼容 Redis 的接口,能做到应用代码无需改动即可替换使用。

TongRDS是没有直接的下载地址的。需要申请。申请下来之后,就会有安装包和授权文件:

TongRDS 的架构分为的中心节点和服务节点,因此部署也分两部分。 另外由于TongRDS是纯Java架构,因此需要**JDK环境,1.8以上。**这里不赘述安装Java过程。

1,解压安装包

两个安装包分别是:TongRDS-2.2.x.x.MC.tar.gz(中心节点 )和 TongRDS-2.2.x.x.Node.tar.gz(服务节点)。将他们放在任意的服务器安装目录底下,我是放在 /opt/tongRDS 目录下。

执行:

bash 复制代码
tar zxvf TongRDS-2.2.1.7_P1.MC.tar.gz
tar zxvf TongRDS-2.2.1.7_P1.Node.tar.gz

即可得到 pcenter(中心节点)和 pmemdb(服务节点)文件夹。两个文件夹的组成都是:

bin(服务启停脚本,包括启动、停止、重启、版本信息显示等)

etc(配置文件)

lib(服务程序和相关依赖,我们不需要操作)

logs(日志,格式都为server.log.xxxxxxxx)

2,配置授权文件

直接将授权文件放进pcenter目录即可,不需要别的配置。

3,安装中心节点

进入中心节点目录,检查并修改配置:

bash 复制代码
cd pcenter
vi etc/cluster.properties

检查文件内容为:WebSession.type=register 即可。

进入到bin目录下:

bash 复制代码
cd bin/

直接执行脚本启动,脚本有好几个,主要如下,按需求执行相应命令即可:

前台运行:./StartCenter.sh

后台运行:nohup ./StartCenter.sh &

重启中心节点:./RestartCenter.sh

停止中心节点:./StopCenter.sh

4,安装服务节点

先配一下中心节点的地址:

bash 复制代码
# 进入到pmemdb目录
cd pmemdb/
# 编辑xml文件
vi etc/dynamic.xml 

<?xml version="1.0" encoding="UTF-8"?>

<Server>

<Center>

<Password>454d51192b1704c60e19734ce6b38203</Password>

<EndPoint>

<Host>localhost</Host>

<Port>6300</Port>

</EndPoint>

</Center>

</Server>

很好理解,就是连接中心服务使用的密码(缺省配置可不修改)、中心节点的ip和端口。

启动:

同理,进入到bin目录下。

bash 复制代码
cd bin/

前台运行:./StartServer.sh

后台运行:nohup ./StartServer.sh &

重启中心节点:./RestartServer.sh

停止中心节点:./StopServer.sh

总结一下,在两个文件配置好了的情况下,还是非常快捷的:

bash 复制代码
# 中心节点启动
cd /opt/tongRDS/pcenter/bin
nohup ./StartCenter.sh &

# 服务节点启动
cd /opt/tongRDS/pmemdb/bin
nohup ./StartServer.sh &

5、验证

执行客户端连接脚本:

bash 复制代码
./pmemdb/bin/Client.sh

用起来跟Redis一模一样。

6、SpringBoot连接

连接和配置也和Redis一模一样,甚至端口都一样:我们刚刚没配置密码,所以不用密码。

复制代码
spring:
  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    # 连接超时时间(毫秒)默认是2000ms
    timeout: 50000
#    lettuce:
    jredis:
      pool:
        time-between-eviction-runs: 30
        # 连接池最大连接数(使用负值表示没有限制)
        max-active: 10
        # 连接池中的最大空闲连接
        max-idle: 5
        # 连接池中的最小空闲连接
        min-idle: 0
        # 连接池最大阻塞等待时间(使用负值表示没有限制)
        max-wait: -1ms

官方文档中说:使用redisTemplate,该类可以存放任意类型的数据,但是该类型的数据必须实现序列,获取redis中对应的数据时,会进行**反序列化。**如果使用RedisTemplate,建议指定key,value,以及hashkey的序列化方式。

所以我们RedisConfig,设置一下序列化就好了,官方是这样建议的:

但我个人感觉按我们原来Redis的配置习惯来配置序列化器就好了。

最后,启动项目,或者写一个测试类测试一下缓存的插入查询等即可。

相关推荐
轻刀快马13 小时前
Redis 架构进阶:全景解析 RDB、AOF 与混合持久化机制
redis
Albert Edison18 小时前
【Redis】Centos7.9 安装 Redis 5 教程
数据库·redis·缓存
Steadfast_GG18 小时前
Redis中的通用命令
redis·缓存
小二·18 小时前
Redis 内存溢出(OOM)排查与恢复实战
数据库·redis·bootstrap
pqk6V6Vep18 小时前
Redis 分布式锁进阶第一篇讲解
数据库·redis·分布式
giaz14n9X19 小时前
Redis 分布式锁进阶第六十一篇
数据库·redis·分布式
JAVA面经实录9171 天前
Redis 知识体系(完整版)
java·redis·nosql数据库·nosql
颜笑晏晏1 天前
长输入短输出场景下的 SGLang 推理性能实测前缀缓存、PD 分离配比与参数调优
缓存·推理优化·sglang·ai infra·pd分离
ManageEngine卓豪1 天前
数据库可观测性:MySQL与Redis监控核心监控指标与全栈运维解决方案
数据库·redis·mysql·数据库性能·数据库监控
真实的菜1 天前
Redis 从入门到精通(十四):Redis 7.x 新特性全解 —— 系列收官之作
数据库·redis·缓存