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

McRouter

20
64
+ 1
0
Redis

59.7K
45.8K
+ 1
3.9K
Add tool

McRouter vs Redis: What are the differences?

Key Differences Between McRouter and Redis

1. Scalability and Performance: Mcrouter is specifically designed to handle the high-scale demands of large-scale Facebook applications, enabling horizontal scalability with its routing capabilities. It acts as a middle layer between clients and caches, effectively distributing the requests and reducing the load on individual servers. On the other hand, Redis is an in-memory data store that prioritizes fast data retrieval and is mainly used for caching, session storage, and real-time analytics in smaller-scale applications.

2. Flexibility and Data Structure Support: Redis provides an extensive set of data structures and features, including strings, lists, sets, hashes, sorted sets, and geospatial indexes. It allows users to perform operations on these data structures, making it a versatile choice for various use cases. Mcrouter, on the other hand, focuses on routing and cache management and does not offer the same breadth of data structure support as Redis.

3. Persistence and Durability: Redis offers both in-memory and persistent storage options, allowing the data to be saved to disk for durability. It provides various persistence mechanisms, such as snapshotting and append-only file (AOF) logs, ensuring that data is not lost during system failures. Mcrouter, being a routing layer, does not provide persistent storage capabilities and relies on the underlying caches for data persistence.

4. Replication and High Availability: Redis supports master-slave replication, enabling data to be replicated across multiple nodes for high availability and fault tolerance. It allows for automatic failover in case the master node goes down. Mcrouter, on the other hand, does not offer native replication capabilities. It primarily focuses on routing requests and load balancing across multiple cache instances.

5. Handling Complex Routing Logic: Mcrouter excels in handling complex routing logic with its advanced routing capabilities. It allows developers to define routing rules based on various criteria, including keys, prefixes, and regular expressions. This allows for fine-grained control over request routing and caching. Redis, on the other hand, does not provide such advanced routing features as it primarily focuses on data storage and retrieval.

6. Ecosystem and Community Support: Redis has a large and active community of developers, providing extensive documentation, tutorials, and support. It also has a wide range of client libraries available in different programming languages, making it easy to integrate with various applications. Mcrouter, being a Facebook-developed tool, has a relatively smaller community and may have limited third-party integrations and resources available compared to Redis.

In summary, Mcrouter is specifically designed for high-scale applications, offering advanced routing capabilities and easy integration with Facebook's cache infrastructure. On the other hand, Redis provides a versatile and feature-rich in-memory data store, suitable for various use cases with extensive community support.

Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of McRouter
Pros of Redis
    Be the first to leave a pro
    • 887
      Performance
    • 542
      Super fast
    • 514
      Ease of use
    • 444
      In-memory cache
    • 324
      Advanced key-value cache
    • 194
      Open source
    • 182
      Easy to deploy
    • 165
      Stable
    • 156
      Free
    • 121
      Fast
    • 42
      High-Performance
    • 40
      High Availability
    • 35
      Data Structures
    • 32
      Very Scalable
    • 24
      Replication
    • 23
      Pub/Sub
    • 22
      Great community
    • 19
      "NoSQL" key-value data store
    • 16
      Hashes
    • 13
      Sets
    • 11
      Sorted Sets
    • 10
      Lists
    • 10
      NoSQL
    • 9
      Async replication
    • 9
      BSD licensed
    • 8
      Integrates super easy with Sidekiq for Rails background
    • 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
      Runs server side LUA
    • 4
      Transactions
    • 4
      Networked
    • 4
      Outstanding performance
    • 4
      Feature Rich
    • 4
      Written in ANSI C
    • 4
      LRU eviction of keys
    • 3
      Data structure server
    • 3
      Performance & ease of use
    • 2
      Temporarily kept on disk
    • 2
      Dont save data if no subscribers are found
    • 2
      Automatic failover
    • 2
      Easy to use
    • 2
      Scalable
    • 2
      Channels concept
    • 2
      Object [key/value] size each 500 MB
    • 2
      Existing Laravel Integration
    • 2
      Simple

    Sign up to add or upvote prosMake informed product decisions

    Cons of McRouter
    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

      - No public GitHub repository available -

      What is McRouter?

      Mcrouter is a memcached protocol router for scaling memcached deployments. It's a core component of cache infrastructure at Facebook and Instagram where mcrouter handles almost 5 billion requests per second at peak.

      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 McRouter and Redis as a desired skillset
      LaunchDarkly
      Oakland, California, United States
      What companies use McRouter?
      What companies use Redis?
      Manage your open source components, licenses, and vulnerabilities
      Learn More

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

      What tools integrate with McRouter?
      What tools integrate with Redis?

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

      Blog Posts

      Dec 22 2020 at 9:26PM

      Pinterest

      Amazon EC2C langMemcached+4
      10
      2708
      Nov 20 2019 at 3:38AM

      OneSignal

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

      AppSignal

      RedisRubyKafka+9
      15
      1717
      What are some alternatives to McRouter and Redis?
      twemproxy
      twemproxy (pronounced "two-em-proxy"), aka nutcracker is a fast and lightweight proxy for memcached and redis protocol. It was built primarily to reduce the number of connections to the caching servers on the backend. This, together with protocol pipelining and sharding enables you to horizontally scale your distributed caching architecture.
      MySQL
      The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
      PostgreSQL
      PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.
      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.
      Amazon S3
      Amazon Simple Storage Service provides a fully redundant data storage infrastructure for storing and retrieving any amount of data, at any time, from anywhere on the web
      See all alternatives