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

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

相关推荐
yuzhiboyouye14 小时前
java redis(缓存)
java·redis·缓存
Rust研习社14 小时前
Rust 操作 Redis 从入门到生产级应用
开发语言·redis·后端·rust
Wmenghu14 小时前
Ubuntu 安装 MySQL 8.0 + Redis 并开启远程访问
redis·mysql·ubuntu
Thanks_ks17 小时前
分布式系统中的并发控制与分布式锁机制深度剖析
redis·zookeeper·高并发·分布式锁·架构设计·并发控制·分布式系统
Java开发的小李1 天前
SpringBoot + Redis 实现分布式 Session 共享(解决多实例登录状态丢失问题)
spring boot·redis·分布式
daixin88481 天前
cursor无法正常使用gpt5.5等模型解决方案
java·redis·cursor
小猿姐1 天前
Redis Kubernetes Operator 实测:三个方案的真实差距
redis·容器·kubernetes
TechWayfarer1 天前
IP归属地运营商生产落地进阶:缓存+降级+灰度对账全解析
网络·python·网络协议·tcp/ip·缓存
aLTttY1 天前
Spring Boot + Redis 实现接口防抖与限流实战指南
spring boot·redis·junit
亿牛云爬虫专家1 天前
Go爬虫进阶:如何优雅地在Colly框架中实现无缝代理切换?
爬虫·中间件·golang·爬虫代理·colly框架·代理切换·api提取