To help you simplify the development process and improve data processing efficiency, ApsaraDB for Redis Enhanced Edition (Tair) integrates a variety of extended data structures and supports the commands provided by ApsaraDB for Redis Community Edition.
Extended data structures
Data structure | Description |
---|---|
CAS and CAD commands | These commands are developed to enhance the functionality of Redis strings. You can use the commands to implement simple and efficient distributed locks based on Redis. For more information, see Implement high-performance distributed locks by using TairString. |
TairString | TairString is a string-type data structure that consists of a key, a value, and a version number. Moreover, TairString can be used to limit the range of outputs returned by the INCRBY and INCRBYFLOAT commands. These commands are used to increase or decrease the values of Redis strings. If outputs are out of range, error messages are returned by these commands. |
TairHash | Similar to native Redis hashes, TairHash is a hash data type that supports a variety of data interfaces and provides high processing performance. To simplify the development process, TairHash also allows you to specify the expiration time and version number for a field. TairHash uses the efficient active expiration algorithm to check the expiration time of fields and delete expired fields. This process does not increase the database response time. |
TairGIS | TairGIS is a data structure that uses R-tree indexes and supports APIs related to a geographic information system (GIS). Native Redis GEO commands allow you to use one-dimensional indexes to query points. TairGIS commands allow you to use two-dimensional indexes to query points, linestrings, and polygons. You can also use TairGIS commands to check the relationships between different elements, such as whether A contains B or A intersects with B. |
TairBloom | TairBloom is a Bloom filter that supports dynamic scaling and is fully compatible with RedisBloom commands. Compared with traditional methods that achieve a similar feature, TairBloom consumes less memory and maintains a stable false positive rate during scaling. You can use TairBloom to check whether a large amount of data exists. In this case, a specific false positive rate is allowed. |
TairDoc | Similar to RedisJSON, TairDoc is a data structure that supports JSON standards and stores data of the document type. TairDoc data is stored as binary trees to allow quick access to child elements of JSON objects. |
TairTS | TairTS is a time series data structure that is developed on top of Redis modules. This data structure provides low-latency and high-concurrency in-memory read and write access, supports fast filtering and aggregate queries, and has both storage and computing power. TairTS simplifies the processing of time series data and significantly improves performance. |
TairCpc | 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 while using only a small amount of memory. |
TairZset | Native Redis Sorted Sets (ZSETs) allow you to sort elements based on score data of the DOUBLE type only in one dimension. To exceed the limit, Alibaba Cloud has developed the TairZset data structure that allows you to sort elements based on score data of the DOUBLE type with respect to different dimensions. This data structure improves the efficiency of data processing and is also easy to use on the client side without the need to encode, decode, or encapsulate the data. |
TairRoaring | TairRoaring is a data structure developed on top of Roaring bitmaps of Tair. TairRoaring uses two-level indexes and introduces multiple dynamic containers. TairRoaring also adopts optimization methods such as single instruction, multiple data (SIMD), vectorization, and popcount to provide less memory consumption and deliver higher computing efficiency for collections. |
TairSearch | TairSearch is a full-text search module developed in-house based on Redis modules instead of open source search engine software libraries such as Lucene. TairSearch uses query syntax that is similar to that of Elasticsearch. |
TairVector | TairVector is a self-developed data structure that provides high-performance real-time storage and retrieval of vectors. |
- DRAM-based instances that are compatible with Redis 6.0 support all data structures.
- DRAM-based instances that are compatible with Redis 5.0 support all data structures other than TairVector.
- Persistent memory-optimized instances support TairString (including CAS and CAD commands), TairHash, and TairCpc.
Other commands
In addition to the commands of the preceding data structures, Enhanced Edition (Tair) instances support all commands provided by Community Edition instances. For more information, see Commands supported by ApsaraDB for Redis Community Edition.