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

Redis

55.8K
43.2K
+ 1
3.9K
RocksDB

124
280
+ 1
11
Add tool

Redis vs RocksDB: What are the differences?

Developers describe Redis as "An in-memory database that persists on disk". Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. On the other hand, RocksDB is detailed as "Embeddable persistent key-value store for fast storage, developed and maintained by Facebook Database Engineering Team". RocksDB is an embeddable persistent key-value store for fast storage. RocksDB can also be the foundation for a client-server database but our current focus is on embedded workloads. RocksDB builds on LevelDB to be scalable to run on servers with many CPU cores, to efficiently use fast storage, to support IO-bound, in-memory and write-once workloads, and to be flexible to allow for innovation.

Redis belongs to "In-Memory Databases" category of the tech stack, while RocksDB can be primarily classified under "Databases".

"Performance" is the primary reason why developers consider Redis over the competitors, whereas "Very fast" was stated as the key factor in picking RocksDB.

Redis and RocksDB are both open source tools. Redis with 37.4K GitHub stars and 14.4K forks on GitHub appears to be more popular than RocksDB with 14.3K GitHub stars and 3.12K GitHub forks.

According to the StackShare community, Redis has a broader approval, being mentioned in 3261 company stacks & 1782 developers stacks; compared to RocksDB, which is listed in 6 company stacks and 7 developer stacks.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Redis
Pros of RocksDB
  • 884
    Performance
  • 541
    Super fast
  • 512
    Ease of use
  • 443
    In-memory cache
  • 323
    Advanced key-value cache
  • 193
    Open source
  • 182
    Easy to deploy
  • 164
    Stable
  • 155
    Free
  • 121
    Fast
  • 42
    High-Performance
  • 40
    High Availability
  • 34
    Data Structures
  • 32
    Very Scalable
  • 24
    Replication
  • 22
    Pub/Sub
  • 22
    Great community
  • 19
    "NoSQL" key-value data store
  • 15
    Hashes
  • 13
    Sets
  • 11
    Sorted Sets
  • 10
    Lists
  • 9
    BSD licensed
  • 9
    NoSQL
  • 8
    Integrates super easy with Sidekiq for Rails background
  • 8
    Async replication
  • 8
    Bitmaps
  • 7
    Open Source
  • 7
    Keys with a limited time-to-live
  • 6
    Lua scripting
  • 6
    Strings
  • 5
    Awesomeness for Free
  • 5
    Hyperloglogs
  • 4
    Written in ANSI C
  • 4
    LRU eviction of keys
  • 4
    Networked
  • 4
    Outstanding performance
  • 4
    Runs server side LUA
  • 4
    Transactions
  • 4
    Feature Rich
  • 3
    Performance & ease of use
  • 3
    Data structure server
  • 2
    Object [key/value] size each 500 MB
  • 2
    Simple
  • 2
    Scalable
  • 2
    Temporarily kept on disk
  • 2
    Dont save data if no subscribers are found
  • 2
    Automatic failover
  • 2
    Easy to use
  • 2
    Existing Laravel Integration
  • 2
    Channels concept
  • 5
    Very fast
  • 3
    Made by Facebook
  • 2
    Consistent performance
  • 1
    Ability to add logic to the database layer where needed

Sign up to add or upvote prosMake informed product decisions

Cons of Redis
Cons of RocksDB
  • 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 RocksDB?

    RocksDB is an embeddable persistent key-value store for fast storage. RocksDB can also be the foundation for a client-server database but our current focus is on embedded workloads. RocksDB builds on LevelDB to be scalable to run on servers with many CPU cores, to efficiently use fast storage, to support IO-bound, in-memory and write-once workloads, and to be flexible to allow for innovation.

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

    What companies use Redis?
    What companies use RocksDB?
    See which teams inside your own company are using Redis or RocksDB.
    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 RocksDB?

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

    Blog Posts

    Jan 26 2022 at 4:34AM

    Pinterest

    Amazon EC2RocksDBOpenTSDB+3
    3
    688
    Nov 20 2019 at 3:38AM

    OneSignal

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

    AppSignal

    RedisRubyKafka+9
    16
    1588
    What are some alternatives to Redis and RocksDB?
    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