挺好的产品腾讯能开源还是体现了大厂的担当和格局,赞一个。阿里也开源了一些不错的产品后面讲。
Tendis 介绍
Tendis 是腾讯公司开源的一款高性能分布式存储系统,基于 Redis 协议开发,具有以下特点:
核心特性
-
兼容 Redis 协议:完全兼容 Redis 5.0 协议,支持绝大多数 Redis 命令
-
持久化存储:采用 RocksDB 作为存储引擎,数据持久化到磁盘
-
大容量支持:单实例可支持 TB 级数据存储
-
高性能:在保证持久化的同时,仍保持较高的读写性能
-
分布式架构:支持集群模式,可水平扩展
架构设计
Tendis 采用分层架构:
-
代理层:负责请求路由和负载均衡
-
存储层:由多个 Tendis 实例组成,每个实例包含:
-
Redis 兼容层:处理协议和命令
-
RocksDB 存储引擎:负责数据持久化
-
适用场景
-
需要大容量持久化存储的 Redis 使用场景
-
需要保证数据安全性的关键业务
-
需要兼容 Redis 协议但希望使用持久化存储的系统
-
需要从 Redis 平滑迁移的场景
与 Redis 的主要区别
-
存储方式:Redis 主要依赖内存,Tendis 使用磁盘存储
-
数据持久化:Tendis 默认持久化所有数据
-
容量:Tendis 单实例支持更大数据量
-
性能:Redis 纯内存操作性能更高,Tendis 读写性能略低但更稳定
Tendis 特别适合需要 Redis 协议兼容性但同时需要大容量持久化存储的场景。
单机安装部署
#放到/opt下
# 解压
tar -zxvf tendisplus-2.7.0-rocksdb-v8.5.3.tgz
# 启动
cd tendisplus-2.7.0-rocksdb-v8.5.3/scripts
./start.sh
#配置文件
tendisplus-2.7.0-rocksdb-v8.5.3/scripts/tendisplus.conf
进入
cd /opt/tendis/tendisplus-2.7.0-rocksdb-v8.5.3/bin
./redis-cli -p 51002
# stop tendis
#关闭
cd tendisplus-2.7.0-rocksdb-v8.5.3/scripts
./stop.sh
#基本操作
--查看当前数据库有多少键值对
127.0.0.1:51002> keys *
--查看当前信息
127.0.0.1:51002> info
# Server
redis_version:2.7.0-rocksdb-v8.5.3
redis_git_sha1:cdc389b7
redis_git_dirty:20
redis_build_id:8781195995917743054
redis_mode:standalone
......
--查看几个数据库
127.0.0.1:51002> CONFIG GET databases
1) "databases"
2) "16"
# 默认连接到数据库0,设置一个键值对
SET key1 value1
# 切换到数据库2
SELECT 2
# 在数据库2中设置一个键值对
SET key2 value2
# 切换回数据库0
SELECT 0
# 获取数据库0中的键值对
GET key1
//删除当前数据库中的所有Key
flushdb
//删除所有数据库中的key
flushall
java代码操作和操作redis几乎一样,比较好上手
安装包获取方式:
(1)登录-注册:http://resources.kittytiger.cn/
(2)签到获取积分
(3)搜索:国产化-内存数据库tendis