StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. In-Memory Databases
  4. In Memory Databases
  5. Redis vs twemproxy

Redis vs twemproxy

OverviewComparisonAlternatives

Overview

Redis
Redis
Stacks61.9K
Followers46.5K
Votes3.9K
GitHub Stars42
Forks6
twemproxy
twemproxy
Stacks14
Followers31
Votes4
GitHub Stars12.3K
Forks2.1K

Redis vs twemproxy: What are the differences?

Introduction:

Redis and twemproxy are both popular software technologies used in building high-performance distributed systems. They have distinct features and purposes, which make them suitable for different use cases. Let's explore the key differences between Redis and twemproxy.

  1. Scalability: Redis is a single-server, in-memory data structure store that can support horizontal scaling through sharding and replication. It allows users to partition their data across multiple Redis instances, enabling high-performance and high-throughput applications. On the other hand, twemproxy, also known as Nutcracker, is a lightweight proxy developed by Twitter that helps in scaling out Redis infrastructure. It acts as a middle layer between Redis clients and Redis instances, providing connection pooling and load balancing while maintaining high availability. Unlike Redis, twemproxy is not responsible for data storage or replication.

  2. Data Persistence: Redis provides persistent storage capabilities by periodically saving data to disk or by appending every command to a log. It can either be configured to store data asynchronously or synchronously, providing flexibility in terms of data durability. Twemproxy, on the other hand, does not have data persistence built-in as it primarily focuses on routing client requests to Redis instances. This makes Redis a more suitable choice when data persistence is a critical requirement.

  3. Transaction Support: Redis supports atomic operations on individual data structures as well as the ability to batch multiple operations within a single transaction. This means that users can group multiple operations into a transaction and ensure that all operations within the transaction are executed in an all-or-nothing manner. Twemproxy, however, does not provide transaction support as it is primarily a proxy that routes client requests to Redis instances.

  4. Configuration and Management: Redis provides a comprehensive set of configuration options that allow users to fine-tune various aspects of its behavior, such as memory management, persistence, replication, and clustering. It also provides built-in monitoring and management tools through the Redis CLI or third-party solutions. Twemproxy, on the other hand, has a simpler configuration model focused on defining pools of Redis instances and their associated weights. Configuration changes in twemproxy usually require restarting the proxy process.

  5. Redis Modules: Redis supports the concept of modules, which allows developers to extend Redis functionality by adding new data types, commands, and functionalities. These modules can be developed independently and integrated seamlessly into Redis. Twemproxy, being a lightweight proxy, does not have built-in support for modules. This makes Redis more powerful and extensible when it comes to implementing custom functionalities beyond the core Redis features.

  6. Deployment Flexibility: Redis can be installed and deployed as a stand-alone server, cluster, or in a master-slave replication setup. It supports various deployment models based on user requirements and can be integrated seamlessly with cloud platforms such as Amazon Web Services (AWS) and Google Cloud Platform (GCP). Twemproxy, however, is typically deployed as a standalone proxy or in a cluster of proxies, routing client requests to Redis instances. It does not have built-in support for replication or clustering.

In Summary, Redis is a scalable, data storage solution with persistence, transaction support, and extensibility through modules. Twemproxy, on the other hand, is a lightweight proxy that provides connection pooling, load balancing, and routing of client requests to Redis instances.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

Redis
Redis
twemproxy
twemproxy

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.

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.

-
Fast.;Lightweight.;Maintains persistent server connections.;Keeps connection count on the backend caching servers low.;Enables pipelining of requests and responses.;Supports proxying to multiple servers.;Supports multiple server pools simultaneously.;Shard data automatically across multiple servers.;Implements the complete memcached ascii and redis protocol.;Easy configuration of server pools through a YAML file.;Supports multiple hashing modes including consistent hashing and distribution.;Can be configured to disable nodes on failures.;Observability via stats exposed on the stats monitoring port.;Works with Linux, *BSD, OS X and SmartOS (Solaris)
Statistics
GitHub Stars
42
GitHub Stars
12.3K
GitHub Forks
6
GitHub Forks
2.1K
Stacks
61.9K
Stacks
14
Followers
46.5K
Followers
31
Votes
3.9K
Votes
4
Pros & Cons
Pros
  • 888
    Performance
  • 542
    Super fast
  • 514
    Ease of use
  • 444
    In-memory cache
  • 324
    Advanced key-value cache
Cons
  • 15
    Cannot query objects directly
  • 3
    No secondary indexes for non-numeric data types
  • 1
    No WAL
Pros
  • 4
    Scalable for Caches
Integrations
No integrations available
Memcached
Memcached

What are some alternatives to Redis, twemproxy?

Hazelcast

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.

Aerospike

Aerospike

Aerospike is an open-source, modern database built from the ground up to push the limits of flash storage, processors and networks. It was designed to operate with predictable low latency at high throughput with uncompromising reliability – both high availability and ACID guarantees.

MemSQL

MemSQL

MemSQL converges transactions and analytics for sub-second data processing and reporting. Real-time businesses can build robust applications on a simple and scalable infrastructure that complements and extends existing data pipelines.

Apache Ignite

Apache Ignite

It is a memory-centric distributed database, caching, and processing platform for transactional, analytical, and streaming workloads delivering in-memory speeds at petabyte scale

SAP HANA

SAP HANA

It is an application that uses in-memory database technology that allows the processing of massive amounts of real-time data in a short time. The in-memory computing engine allows it to process data stored in RAM as opposed to reading it from a disk.

VoltDB

VoltDB

VoltDB is a fundamental redesign of the RDBMS that provides unparalleled performance and scalability on bare-metal, virtualized and cloud infrastructures. VoltDB is a modern in-memory architecture that supports both SQL + Java with data durability and fault tolerance.

Tarantool

Tarantool

It is designed to give you the flexibility, scalability, and performance that you want, as well as the reliability and manageability that you need in mission-critical applications

Azure Redis Cache

Azure Redis Cache

It perfectly complements Azure database services such as Cosmos DB. It provides a cost-effective solution to scale read and write throughput of your data tier. Store and share database query results, session states, static contents, and more using a common cache-aside pattern.

KeyDB

KeyDB

KeyDB is a fully open source database that aims to make use of all hardware resources. KeyDB makes it possible to breach boundaries often dictated by price and complexity.

LokiJS

LokiJS

LokiJS is a document oriented database written in javascript, published under MIT License. Its purpose is to store javascript objects as documents in a nosql fashion and retrieve them with a similar mechanism. Runs in node (including cordova/phonegap and node-webkit), nativescript and the browser.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase