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

etcd

304
414
+ 1
24
Redis

58.5K
45.1K
+ 1
3.9K
Add tool

Redis vs etcd: What are the differences?

Redis and etcd are two popular distributed key-value stores. Let's explore the key differences between the two:

  1. Data Model: Redis follows a simple key-value model where the value can be a wide range of data structures like strings, lists, sets, etc. On the other hand, etcd provides a distributed key-value model with very limited data structures, primarily focusing on managing configurations and coordinating distributed systems.

  2. Consistency Guarantees: Redis provides eventual consistency, meaning that updates to the data are not immediately reflected across all instances but eventually propagate. In contrast, etcd offers strong consistency, ensuring that all nodes see the same set of data at any given time.

  3. Scaling: Redis supports horizontal scaling via replication and sharding. It allows for the distribution of data across multiple nodes, improving performance and capacity. Etcd also supports replication and clustering but lacks built-in sharding capability, limiting its scalability compared to Redis.

  4. Data Persistence: Redis offers different persistence options, including both snapshotting and append-only file (AOF) persistence. It allows data to survive restarts or power failures. Etcd, on the other hand, stores data primarily in memory, with an option for periodic snapshots. It is not designed for long-term data persistence and focuses more on real-time coordination.

  5. Cluster Management: Redis does not provide built-in cluster management. It relies on external tools like Redis Cluster or Redis Sentinel for managing distributed deployments. Etcd, being designed as a distributed systems coordination tool, provides built-in cluster management with fault tolerance and leader election capabilities.

  6. APIs and Language Support: Redis offers a rich set of APIs and supports multiple programming languages, making it easy to integrate into various applications. Etcd primarily exposes a simple HTTP(S) API and provides official clients for popular languages like Go, Python, and Java.

In summary, Redis focuses on providing a versatile key-value store and etcd specializes in coordinating distributed systems and managing configurations.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of etcd
Pros of Redis
  • 11
    Service discovery
  • 6
    Fault tolerant key value store
  • 2
    Secure
  • 2
    Bundled with coreos
  • 1
    Consol integration
  • 1
    Privilege Access Management
  • 1
    Open Source
  • 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

Sign up to add or upvote prosMake informed product decisions

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

    Sign up to add or upvote consMake informed product decisions

    What is etcd?

    etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles master elections during network partitions and will tolerate machine failure, including the master.

    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.

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

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

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

    What tools integrate with etcd?
    What tools integrate with Redis?

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

    Blog Posts

    Kubernetesetcd+2
    2
    1170
    Nov 20 2019 at 3:38AM

    OneSignal

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

    AppSignal

    RedisRubyKafka+9
    15
    1657
    What are some alternatives to etcd and Redis?
    Consul
    Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.
    Zookeeper
    A centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications.
    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.
    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.
    Vault
    Vault is a tool for securely accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, certificates, and more. Vault provides a unified interface to any secret, while providing tight access control and recording a detailed audit log.
    See all alternatives