Need advice about which tool to choose?Ask the StackShare community!

Redis

59.7K
44.6K
+ 1
3.9K
RethinkDB

297
405
+ 1
307
Add tool

Redis vs RethinkDB: What are the differences?

Introduction:

Redis and RethinkDB are both popular NoSQL databases used for different purposes in the field of data storage and retrieval. They have various key differences that set them apart from each other. In this article, we will explore and analyze these differences in detail.

  1. Data Model: Redis is primarily a key-value store that allows users to store and retrieve data using key-value pairs. On the other hand, RethinkDB is a document-oriented database that uses a JSON-like structure for data storage. It allows users to store and manipulate complex data structures as documents.

  2. Scalability: Redis is known to be highly scalable due to its built-in support for clustering and sharding. It provides horizontal scalability by distributing the data across multiple nodes. RethinkDB, on the other hand, does not natively support sharding, making it less suitable for large-scale deployments requiring automatic data distribution.

  3. Querying and Indexing: Redis provides limited querying capabilities and lacks advanced querying options, as it primarily focuses on simple key-value operations. In contrast, RethinkDB offers a powerful query language with rich features like filtering, grouping, and aggregation. It also provides secondary indexing, making it easier to search and retrieve data efficiently.

  4. Real-Time Data: RethinkDB is designed with real-time applications in mind. It has built-in support for change feeds, allowing developers to write reactive applications that can easily track changes in the database and push them to connected clients in real-time. Redis, although not specifically built for real-time applications, can be used for pub/sub messaging and implements basic message queues.

  5. Durability and Persistence: Redis offers different levels of persistence, including snapshots and append-only files (AOF). It can be configured to store data to the disk and recover it in case of failures. RethinkDB provides automatic data durability by default. It ensures that data is persisted to disk across multiple replicas, providing higher fault tolerance.

  6. Community Support: Redis has a massive and active community with extensive documentation, various libraries, and a wide range of tools built around it. It is widely adopted and used in production environments. RethinkDB, despite its unique features, has a smaller and comparatively less active community. However, it still has a dedicated user base and community support available.

In Summary, Redis is a key-value store with strong scalability and messaging capabilities, while RethinkDB is a document-oriented database with powerful querying and real-time features, but lacks native sharding and larger community support.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Redis
Pros of RethinkDB
  • 886
    Performance
  • 542
    Super fast
  • 513
    Ease of use
  • 444
    In-memory cache
  • 324
    Advanced key-value cache
  • 194
    Open source
  • 182
    Easy to deploy
  • 164
    Stable
  • 155
    Free
  • 121
    Fast
  • 42
    High-Performance
  • 40
    High Availability
  • 35
    Data Structures
  • 32
    Very Scalable
  • 24
    Replication
  • 22
    Great community
  • 22
    Pub/Sub
  • 19
    "NoSQL" key-value data store
  • 16
    Hashes
  • 13
    Sets
  • 11
    Sorted Sets
  • 10
    NoSQL
  • 10
    Lists
  • 9
    Async replication
  • 9
    BSD licensed
  • 8
    Bitmaps
  • 8
    Integrates super easy with Sidekiq for Rails background
  • 7
    Keys with a limited time-to-live
  • 7
    Open Source
  • 6
    Lua scripting
  • 6
    Strings
  • 5
    Awesomeness for Free
  • 5
    Hyperloglogs
  • 4
    Transactions
  • 4
    Outstanding performance
  • 4
    Runs server side LUA
  • 4
    LRU eviction of keys
  • 4
    Feature Rich
  • 4
    Written in ANSI C
  • 4
    Networked
  • 3
    Data structure server
  • 3
    Performance & ease of use
  • 2
    Dont save data if no subscribers are found
  • 2
    Automatic failover
  • 2
    Easy to use
  • 2
    Temporarily kept on disk
  • 2
    Scalable
  • 2
    Existing Laravel Integration
  • 2
    Channels concept
  • 2
    Object [key/value] size each 500 MB
  • 2
    Simple
  • 48
    Powerful query language
  • 46
    Excellent dashboard
  • 42
    JSON
  • 41
    Distributed database
  • 38
    Open source
  • 25
    Reactive
  • 16
    Atomic updates
  • 15
    Joins
  • 9
    MVCC concurrency
  • 9
    Hadoop-style map/reduce
  • 4
    Geospatial support
  • 4
    Real-time, open-source, scalable
  • 2
    YC Company
  • 2
    A NoSQL DB with joins
  • 2
    Great Admin UI
  • 2
    Changefeeds: no polling needed to get updates
  • 2
    Fast, easily scalable, great customer support

Sign up to add or upvote prosMake informed product decisions

Cons of Redis
Cons of RethinkDB
  • 15
    Cannot query objects directly
  • 3
    No secondary indexes for non-numeric data types
  • 1
    No WAL
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Redis?

    Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.

    What is RethinkDB?

    RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn.

    Need advice about which tool to choose?Ask the StackShare community!

    Jobs that mention Redis and RethinkDB as a desired skillset
    LaunchDarkly
    Oakland, California, United States
    What companies use Redis?
    What companies use RethinkDB?
    See which teams inside your own company are using Redis or RethinkDB.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Redis?
    What tools integrate with RethinkDB?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Nov 20 2019 at 3:38AM

    OneSignal

    PostgreSQLRedisRuby+8
    9
    4627
    Jun 6 2019 at 5:11PM

    AppSignal

    RedisRubyKafka+9
    15
    1634
    GitHubDockerReact+17
    40
    36156
    What are some alternatives to Redis and RethinkDB?
    Memcached
    Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
    MongoDB
    MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
    RabbitMQ
    RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
    Hazelcast
    With its various distributed data structures, distributed caching capabilities, elastic nature, memcache support, integration with Spring and Hibernate and more importantly with so many happy users, Hazelcast is feature-rich, enterprise-ready and developer-friendly in-memory data grid solution.
    Cassandra
    Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
    See all alternatives