国产化-内存数据库tendis-单机安装(完美替代redis)

挺好的产品腾讯能开源还是体现了大厂的担当和格局,赞一个。阿里也开源了一些不错的产品后面讲。

Tendis 介绍

Tendis 是腾讯公司开源的一款高性能分布式存储系统,基于 Redis 协议开发,具有以下特点:

核心特性

  1. 兼容 Redis 协议:完全兼容 Redis 5.0 协议,支持绝大多数 Redis 命令

  2. 持久化存储:采用 RocksDB 作为存储引擎,数据持久化到磁盘

  3. 大容量支持:单实例可支持 TB 级数据存储

  4. 高性能:在保证持久化的同时,仍保持较高的读写性能

  5. 分布式架构:支持集群模式,可水平扩展

架构设计

Tendis 采用分层架构:

  • 代理层:负责请求路由和负载均衡

  • 存储层:由多个 Tendis 实例组成,每个实例包含:

    • Redis 兼容层:处理协议和命令

    • RocksDB 存储引擎:负责数据持久化

适用场景

  1. 需要大容量持久化存储的 Redis 使用场景

  2. 需要保证数据安全性的关键业务

  3. 需要兼容 Redis 协议但希望使用持久化存储的系统

  4. 需要从 Redis 平滑迁移的场景

与 Redis 的主要区别

  1. 存储方式:Redis 主要依赖内存,Tendis 使用磁盘存储

  2. 数据持久化:Tendis 默认持久化所有数据

  3. 容量:Tendis 单实例支持更大数据量

  4. 性能: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