![Redis 开源协议变更?可用这一国产中间件平替](https://oss-emcsprod-public.modb.pro/image/editor/20240502-c5cf2d63-a402-4e24-92f9-4f69e7111a4a.png)
Redis 开源协议变更?可用这一国产中间件平替
![](/img/avatar.jpg)
Redis 是一款非常流行的键值数据库,目前在 DB-Engines 流行度排行榜排名第 6,在 Key-value stores 分榜列首位。
![redis.jpg](https://oss-emcsprod-public.modb.pro/image/editor/20240425-9f3381ee-b1aa-4231-a5c8-6aafec2bffdf.png)
前段时日,Redis Labs 对 Redis 开源协议的变更,从传统的 BSD 许可证向 RSALv2 和 SSPLv1 转变,引入 Commons Clause 补充条款,针对商业软件服务提供商便提出了额外限制。变更引发了社区对开源精神的广泛讨论。
BSD许可证非常宽松,允许用户任意使用及商业化。而RSALv2和SSPLv1协议则对使用和商业化提出了更严格的要求,这可能会限制Redis的开源精神和广泛应用。Redis Labs 的 CEO 指出,这一变化旨在防止云服务提供商免费使用 Redis 代码,同时促进Redis社区的可持续发展和创新。
但,可真如此?非也,非也。
![feiye.jpg](https://oss-emcsprod-public.modb.pro/image/editor/20240502-92a712b9-7602-4f5c-82f3-42eb5db53748.jpg)
Redis 的许可证在变更的同时,也为其他兼容 Redis 的项目提供了新的发展机遇。
东方通 TongRDS
本文将介绍一款可以平滑替代 Redis 的国产中间件,东方通 TongRDS。
TongRDS(东方通分布式数据缓存中间件)是一款高性能多并发分布式数据缓存中间件,为企业信息化系统提供数据信息的缓存、分享与同步功能。通过先进的内存分配算法,产品实现了基于内存方式的数据高性能读写、实时稳定数据同步、分布式部署等功能,满足企业分布式与高可用使用场景。TongRDS提供了高度兼容Redis的数据访问接口,并保持优于Redis的读写性能。目前已在政务、金融行业领域多个业务系统中得到应用。
![tongrds.png](https://oss-emcsprod-public.modb.pro/image/editor/20240502-c5cf2d63-a402-4e24-92f9-4f69e7111a4a.png)
它具有以下优势:
- 高性能:
TongRDS采用Java语言纯自研架构,针对内存数据处理进行了优化,因此能够提供高效的数据处理能力。通过先进的内存分配算法高效存储和使用数据,提供比Redis更高的数据访问效率。
- 稳定性:
它支持共享内存的搭建和弹性伸缩管理,使得业务应用无需考虑内存管理的复杂性,从而提高了系统的稳定性。
- 安全性:
TongRDS内核完全自研,避免了使用开源Redis可能存在的安全漏洞和接口后门问题,并且提供了国密加密技术,增强了数据的安全性。支持数据传输通道加密和多种安全策略,支持国家加密算法加密,避免数据被非法访问。
- 兼容性:
TongRDS完全兼容Redis中间件,这使得从Redis迁移到TongRDS的应用迁移成本几乎为零,可以无缝迁移。
- 灵活性:
TongRDS支持单节点和集群两种部署模式,可以针对不同的业务场景和需求进行灵活部署。
- 可靠性:
采用并行方式在节点间同步内存数据,混合集群模式和主从模式可以保证数据的完整性和可靠性。
- 集中管理:
提供统一的管理控制平台,方便用户对系统进行安装、配置、监控和数据管理。
![tongrdsweb.png](https://oss-emcsprod-public.modb.pro/image/editor/20240502-d0fc3caf-7af1-4ad9-8591-3b0fbe1fcd17.png)
TongRDS 基础知识
TongRDS 支持的数据结构和操作类型包括但不限于以下几种:
基本数据类型: TongRDS 支持传统的关系型数据结构,如表、行、列等,同时也支持 Redis 所提供的多种数据结构,例如:
- 字符串(String):用于存储简单的数据,支持添加、删除、获取等操作。
- 列表(List):支持添加元素、删除元素、获取元素、获取子列表等操作。
- 集合(Set):是一个无序的字符串集合,其中不允许有重复元素。
- 哈希(Hash):存储键值对集合,可以进行字段的增加、删除、获取等操作。
- 有序集合(Sorted Set 或 Zset):类似于 Set,但其中的元素是有序的。
此外,还提供了定制化的类型,如:Integer, Long, IPv4, IPv6, MAC 等。
数据操作命令: TongRDS 提供了丰富的命令和 API 进行数据操作,例如:
- SET:设置键的值。
- GET:获取键的值。
- HSET:在哈希表中设置字段的值。
- HGET:获取哈希表中字段的值。
- LPUSH / RPUSH:在列表的左侧或右侧添加元素。
- SADD:向集合添加元素。
- ZADD:向有序集合添加元素。
TongRDS 几乎全部兼容 Redis 的命令,但是,有10个左右的命令因为存在安全隐患,功能被RDS禁止。
例如: config setdir
命令可能导致越权操作被禁止;flushall、shutdown、debug segfault等高风险命令被取消。
1 | localhost:6379 > flushdb |
TongRDS 支持 GEO
Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。
这里测试两个 Redis GEO 操作方法:
- GEOADD 添加地理位置的坐标。
- GEODIST 计算两个位置之间的距离。
在 TongRDS 中的演示示例:
1 | localhost:6379 > GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania" |
在 Redis 中的演示示例:
1 | 127.0.0.1:6379> GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania" |
更多内容,请持续关注本专栏,或请参考官方网站:https://www.tongtech.com/pctype/37.html
– END. –
![logo.jpg](https://files.mdnice.com/user/54598/23af4bef-b6ac-4f59-9456-19114dfe6dd7.png)
如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!(๑˃̵ᴗ˂̵)
- Title: Redis 开源协议变更?可用这一国产中间件平替
- Author: ShawnYan
- Created at: 2024-05-02 23:00:00
- Updated at: 2024-05-02 23:00:00
- Link: https://shawnyan.cn/2024/tong/tongrds-intro/
- License: This work is licensed under CC BY-NC-SA 4.0.