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

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

相关推荐
摸鱼仙人~2 小时前
Redis 数据结构全景解析
数据结构·数据库·redis
大佐不会说日语~7 小时前
Redis高频问题全解析
java·数据库·redis
拾荒的小海螺8 小时前
Redis:缓存雪崩、穿透、击穿的技术解析和实战方案
java·redis·缓存
旋风菠萝9 小时前
JVM易混淆名称
java·jvm·数据库·spring boot·redis·面试
筏.k9 小时前
知识随记-----使用现代C++客户端库redis-plus-plus实现redis池缓解高并发
c++·经验分享·redis·microsoft
is081514 小时前
STM32 USB 设备中间件 tinyusb
stm32·嵌入式硬件·中间件
运维小杨15 小时前
Redis主从复制搭建
数据库·redis·缓存
会编程的林俊杰18 小时前
Redis线程模型讨论
redis·缓存
Tjyuking18 小时前
OS架构整理
运维·c++·缓存·架构·操作系统