信创缓存中间件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的配置习惯来配置序列化器就好了。

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

相关推荐
索西引擎21 小时前
【React】Redux 中间件机制:副作用处理与数据流增强的形式化分析
前端·react.js·中间件
咏方舟【长江支流】21 小时前
【开源】跨语言·跨平台·跨数据库(6) ——一种ORM缓存的接口实现和容错处理
数据库·缓存·开源·咏方舟-长江支流·用宝框架
糖果店的幽灵1 天前
【DeepAgents 从入门到精通】Context Management 上下文管理
java·人工智能·后端·spring·中间件·langgraph·deepagents
爬也要爬着前进1 天前
redis主从搭建
数据库·redis·缓存
用户095367515832 天前
在系统的学习 redis 前的疑惑
redis·go
吴声子夜歌2 天前
Redis 3.x——集群故障转移
java·数据库·redis·集群
明豆2 天前
Redis 分布式缓存生产实战
redis·分布式·缓存
海兰2 天前
【高速缓存】RedisVL 指南:从向量搜索到 AI 应用落地
人工智能·redis
weixin_727535622 天前
双Token认证体系深度拆解:Spring Security + JWT + Redis
redis·spring·wpf
William Dawson2 天前
【华为云 MRS Redis 安全集群 Kerberos 认证接入实战(Spring Boot \+ Jedis)】
redis·安全·华为云