Redis EnterpriseAll in One
Search engines are slow in indexing data and as a result, it takes a long time to show new content in the search results.
RediSearch is a fast search engine that runs on your Redis dataset and allows you to query data that has just been indexed, to answer complex queries. It can be used as a secondary index for datasets hosted on other datastores, as a fast text search or auto-complete engine, and as a search engine that powers other modules such as RedisGraph and RedisTimeSeries.
Written in C, built from the ground up on modern data-structure, and using an efficient Redis protocol, RediSearch is the fastest search engine in the market. Furthermore, RediSearch is feature rich, supporting many capabilities including ranking, boolean queries, geo-filters, synonyms, numeric filters and ranges, aggregation, and more. It even allows you to add your own custom scoring code.
Running multi-hop graph queries over traditional graph database architectures is inefficient and slow as they are based on adjacency lists, an approach that’s sub-optimal for graph processing.
RedisGraph is based on a unique approach and architecture that translates Cypher queries to matrix operations executing over a GraphBLAS engine. This new design allows use cases like social graph operation, fraud detection, and real-time recommendation to be executed 10x-600x faster than any other graph database.
To store a JSON object in a native Redis implementation, you either use a String data structure or break it up into Hash fields, imposing a translation overhead on your application.
RedisJSON makes JSON a native data structure in Redis. It’s tailored for fast, efficient, in-memory manipulation of JSON documents at high speed and volume. As a result, you can store your document data in a hierarchical, tree-like format and scale and query it efficiently, which significantly improves performance compared to existing disk-based document-database solutions.
Redis has been used as a real-time time-series database for many years, powering use cases like IoT, stock prices, and telemetry.
With RedisTimeSeries, capabilities like automatic downsampling, aggregations, labeling and search, compression, and enhanced multi-range queries are now natively supported in Redis. Built-in connectors to popular monitoring tools like Prometheus and Grafana enable the extraction of data into useful formats for visualization and monitoring. Maintaining the DNA of Redis, RedisTimeSeries is significantly faster than any other time-series database.
Bloom and Cuckoo filters, TopK, and CountMinSketch are widely used to support data-membership queries, thanks to their space-efficiency and constant-time membership functionality. That said, fast and efficient probabilistic data-structure implementations aren’t easy to develop.
Benchmarks have shown that the Redis implementation for Bloom filters and other probabilistic data structures is faster by an order of magnitude than other probabilistic implementations. When deployed over Redis Enterprise, RedisBloom enjoys the linear scale, single-digit-seconds failover time, and durability, with easy provisioning and built-in monitoring capabilities.
Redis Streams doubles as a communication channel for building streaming architectures and as a log-like data structure for persisting data, making Streams the perfect solution for event sourcing.
It is an incredibly powerful data structure that manages high-speed data flows (like a message queue). With partitioning, replication and persistence ready to use, it can capture and process millions of data points per second with very low latency. Based on efficient base tree implementation, it makes reach and search queries extremely fast. It also connects producers and consumers with asynchronous calls, in addition to supporting consumer groups.
Redis Pub/Sub is an extremely lightweight messaging protocol designed for broadcasting live notifications within a system. It’s ideal for propagating short-lived messages when low latency and huge throughput are critical.
Aside from data storage, Redis can be used as a Publisher/Subscriber platform. In this pattern, publishers can issue messages to any number of subscribers on a channel. These messages are fire-and-forget, in that if a message is published and no subscribers exists, the message evaporates and cannot be recovered.
Once subscribed to a channel, the client is put into subscriber mode and no commands can be issued by the client. In this way, the client has become read-only. Publishing has no such limitation.