Tair provides instances of multiple engine versions, series, and architectures. Redis commands supported by each Tair instance vary based on the type of the instance. This topic describes the supported commands and limits of different versions of Tair.
Supported commands
Open source Redis commands
Tair instances of different engine versions and architectures support different open source Redis commands. For more information, see Limits on commands supported by Tair.
Extended data structures of Tair
Tair integrates multiple data structures developed in-house by Alibaba Cloud, such as exString (including commands that enhance Redis string functionality), exHash, exZset, GIS, Bloom, Doc, TS, Cpc, Roaring, Search, and Vector. These data structures allow Tair to support more scenarios, make application development easier, and simplify business code. This improves service performance and helps you focus on business innovation.
DRAM-based instances that are compatible with Redis 7.0 or 6.0 support all the preceding data structures.
DRAM-based instances that are compatible with Redis 5.0 support all the preceding data structures other than TairVector.
Persistent memory-optimized instances are compatible with exString (including commands that enhance Redis string functionality), exHash, and Cpc.
The following table describes the data structures that are integrated into Tair and compares these data structures with Redis Stack Server.
Data type | Tair extended data structure | Description | |
String | N/A |
Best practices: Implement high-performance optimistic locking by using TairString and Implement bounded counters by using TairString. | |
Hash | N/A | TairHash is a data structure that allows you to specify the expiration time and version number of a field. TairHash is more flexible in use and simplifies application development in most scenarios. This data structure is open-sourced. For more information, visit GitHub. Best practices: Manage multi-device logon from a single user by using TairHash | |
Zset | N/A | TairZset allows Double-type scores to be sorted with respect to 256 dimensions. You can use TairZset to implement general-purpose leaderboards and multidimensional leaderboards. This data structure is open-sourced. For more information, visit GitHub. Best practices: Implement multidimensional leaderboards by using TairZset and Implement distributed leaderboards by using TairZset. | |
GeoSpatial | N/A | TairGIS is a data structure that uses R-tree indexes and supports APIs related to a geographic information system (GIS). TairGIS can be used to query points, linestrings, and polygons. You can use TairGIS to check whether A contains B, whether A is contained by B, or whether A intersects with B. This data structure is open-sourced. For more information, visit GitHub. Best practices: Implement digital fences by using TairGIS and Implement local purchase services by using TairGIS. | |
Doc (JSON) | RedisJSON | Similar to RedisJSON, TairDoc is a data structure that supports the JSON standard and stores data of the document type. TairDoc data is stored as binary trees to allow quick access to child elements of JSON objects. | |
Search | RediSearch | TairSearch uses syntax similar to that of Elasticsearch but provides more and better tokenizers to improve query performance. | |
TimeSeries | RedisTimeSeries | Compared with RedisTimeSeries, TairTS extends the capability of tags. In the TairTS data structure, an extra hash layer is added to support your aggregate queries on timelines. You can also use TairTS to update or add data to historical time series data. Best practices: Implement fine-grained monitoring by using TairTS | |
Sketches | RedisBloom | TairBloom is compatible with RedisBloom, supports dynamic scaling, and provides 64-bit hash algorithms to significantly reduce the probability of collision for large amounts of data. The best practices of TairBloom include the implementation of recommendation and crawler systems. For more information, see Bloom. | |
N/A | TairCpc is a data structure developed based on the compressed probability counting (CPC) sketch. It allows you to perform high-performance computing on sampled data with a small amount of memory. TairCpc supports tumbling and sliding windows to better facilitate data streaming. It also supports common aggregation operators used in big data analytics, such as | ||
Bitmap | N/A | TairRoaring is an efficient computing module that provides high stability. It supports operations on multiple bitmaps, which improves performance and space efficiency. Best practices: Select users by using TairRoaring | |
Vector | Redis Search (Vector Similarity) | TairVector is an in-house data structure of Tair that provides high-performance real-time storage and retrieval of vectors. Best practices: |
In-house proxy commands
In addition to being compatible with open source Redis commands, Tair provides a wide range of in-house commands for cluster instances and read/write splitting instances to improve instance management efficiency.
Limits on the commands supported by different instance architectures
Tair cluster instances and read/write splitting instances have different limits on the commands of open source Redis due to their different deployment architectures. For more information, see Limits on commands supported by cluster instances and read/write splitting instances.