云原生内存数据库Tair存在多个版本、系列和架构,各种类型的实例对于Redis命令的支持度有所不同。根据本章节的导航信息,您可以快速找到Tair各版本支持的命令和限制使用的命令。
命令支持概览
兼容Redis社区版命令
云原生内存数据库Tair不同的引擎版本和架构类型对Redis命令的支持度有所不同,更多信息请参见Tair命令支持与限制。
Tair扩展数据结构
Tair集成了多个自研的数据结构,包括exString(包含Redis String命令增强)、exHash、exZset、GIS、Bloom、Doc、TS、Cpc、Roaring、Search和Vector,从多方面扩展Redis的适用性,降低复杂场景下业务的开发难度,同时可以帮助您精简大量代码并提高业务整体性能,使您专注于业务创新。
如下为Tair集成的数据结构,以及与Redis Stack Server的功能对比。
类型 | Tair扩展数据结构 | Redis Stack Server(对比项) | 说明 |
String增强 | 无 |
| |
Hash增强 | 无 | TairHash支持为field设置过期时间和版本,提高了Hash数据结构的灵活性,简化了很多场景下的业务开发工作。该数据结构已开源,更多信息请参见TairHash。 最佳实践:基于TairHash实现用户多设备登录管理。 | |
Zset增强 | 无 | TairZset可实现256个维度的double类型的分值排序,提供普通排行榜和多维排行榜的能力。该数据结构已开源,更多信息请参见TairZset。 | |
GeoSpatial | 无 | TairGIS是一种使用R-Tree做索引,支持地理信息系统GIS(Geographic Information System)相关接口的数据结构。支持点、线、面的查询,支持包含、被包含、相交等多种关系判断。该数据结构已开源,更多信息请参见TairGIS。 | |
Doc(JSON) | RedisJSON | TairDoc是一种文档类型的数据结构,支持JSON标准,类似RedisJSON模块。同时,TairDoc数据以二进制树的方式存储,支持对JSON中子元素进行快速访问。 | |
Search | RediSearch | TairSearch提供类似Elasticsearch(ES-LIKE)的语法,提供种类更多、效果更准确的分词器,查询性能更佳。 | |
TimeSeries | RedisTimeSeries | TairTS相比较RedisTimeSeries具备更强的标签(Tag)扩展能力,支持Skey(Tag)的两级Hash结构时间线,支持对Skey(Tag)进行二级时间线聚合查询,支持对历史时序数据的更新或累加等。 最佳实践:基于TairTS实现秒级监控。 | |
Sketches | RedisBloom | TairBloom兼容RedisBloom,支持动态扩容,同时通过64位的Hash算法降低Hash碰撞率,显著降低大数据的冲撞率。 最佳实践:推荐系统、爬虫系统,更多信息请参见Bloom。 | |
无 | TairCpc是基于CPC(Compressed Probability Counting)压缩算法开发的数据结构,支持仅占用很小的内存空间对采样数据进行高性能计算,支持滚动窗口和滑动窗口,可以更好地支持流式运算,支持大数据分析中常用的聚合算子,如: | ||
Bitmap | 无 | TairRoaring提供高效的计算模块和极高的稳定性,支持多位图运算能力,提升了性能和空间效率。 最佳实践:基于TairRoaring实现人群圈选方案。 | |
向量检索 | Redis Search (Vector Similarity) | TairVector是Tair自研的扩展数据结构,提供高性能、实时,集存储、检索于一体的向量数据库服务。 最佳实践: |
阿里云自研的Proxy命令
在兼容原生Redis命令之外,Tair还自研了多个适用于集群架构或读写分离架构的实例管理命令,帮助您更高效地管理实例。
不同架构下的命令限制
由于部署架构的不同,集群架构和读写分离架构Tair实例在原生Redis命令的支持上有一定的区别,更多信息请参见集群架构与读写分离架构的命令限制。