Get Advice Icon

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

Redis
Redis

14.2K
9.4K
+ 1
3.7K
ZeroMQ
ZeroMQ

140
123
+ 1
49
Add tool

Redis vs ZeroMQ: 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, ZeroMQ is detailed as "Fast, lightweight messaging library that allows you to design complex communication system without much effort". The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.

Redis and ZeroMQ are primarily classified as "In-Memory Databases" and "Message Queue" tools respectively.

"Performance" is the top reason why over 842 developers like Redis, while over 17 developers mention "Fast" as the leading cause for choosing ZeroMQ.

Redis and ZeroMQ are both open source tools. It seems that Redis with 37.4K GitHub stars and 14.4K forks on GitHub has more adoption than ZeroMQ with 5.34K GitHub stars and 1.57K GitHub forks.

Airbnb, Uber Technologies, and Instagram are some of the popular companies that use Redis, whereas ZeroMQ is used by Binary.com, GrowSumo, and indico. Redis has a broader approval, being mentioned in 3264 company stacks & 1786 developers stacks; compared to ZeroMQ, which is listed in 35 company stacks and 12 developer stacks.

What is Redis?

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.

What is ZeroMQ?

The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.
Get Advice Icon

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

Why do developers choose Redis?
Why do developers choose ZeroMQ?

Sign up to add, upvote and see more prosMake informed product decisions

What companies use Redis?
What companies use ZeroMQ?

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

What tools integrate with Redis?
What tools integrate with ZeroMQ?

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

What are some alternatives to Redis and ZeroMQ?
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
Decisions about Redis and ZeroMQ
No stack decisions found
Interest over time
Reviews of Redis and ZeroMQ
Review ofRedisRedis

Redis is a good caching tool for a cluster, but our application had performance issues while using Aws Elasticache Redis since some page had 3000 cache hits per a page load and Redis just couldn't quickly process them all in once + latency and object deseialization time - page load took 8-9 seconds. We create a custom hybrid caching based on Redis and EhCache which worked great for our goals. Check it out on github, it's called HybriCache - https://github.com/batir-akhmerov/hybricache.

How developers use Redis and ZeroMQ
Avatar of Cloudcraft
Cloudcraft uses RedisRedis

Redis is used for storing all ephemeral (that's data you don't necessarily want to store permanently) user data, such as mapping of session IDs (stored in cookies) to current session variables at Cloudcraft.co. The many datastructures supported by Redis also makes it an excellent caching and realtime statistics layer. It doesn't hurt that the author, Antirez, is the nicest guy ever! These days, I would be really hard pressed to find any situation where I would pick something like Memcached over Redis.

Avatar of Trello
Trello uses RedisRedis

Trello uses Redis for ephemeral data that needs to be shared between server processes but not persisted to disk. Things like the activity level of a session or a temporary OpenID key are stored in Redis, and the application is built to recover gracefully if any of these (or all of them) are lost. We run with allkeys-lru enabled and about five times as much space as its actual working set needs, so Redis automatically discards data that hasn’t been accessed lately, and reconstructs it when necessary.

Avatar of Stack Exchange
Stack Exchange uses RedisRedis

The UI has message inbox that is sent a message when you get a new badge, receive a message, significant event, etc. Done using WebSockets and is powered by redis. Redis has 2 slaves, SQL has 2 replicas, tag engine has 3 nodes, elastic has 3 nodes - any other service has high availability as well (and exists in both data centers).

Avatar of Brandon Adams
Brandon Adams uses RedisRedis

Redis makes certain operations very easy. When I need a high-availability store, I typically look elsewhere, but for rapid development with the ability to land on your feet in prod, Redis is great. The available data types make it easy to build non-trivial indexes that would require complex queries in postgres.

Avatar of Kent Steiner
Kent Steiner uses RedisRedis

I use Redis for cacheing, data storage, mining and augmentation, proprietary distributed event system for disparate apps and services to talk to each other, and more. Redis has some very useful native data types for tracking, slicing and dicing information.

Avatar of OnlineCity
OnlineCity uses ZeroMQZeroMQ

Our platform is based on interconnected services with a custom RPC protocol based on ZeroMQ and inspired by ZeroMQs LPP/MDP protocols.

Avatar of Runbook
Runbook uses ZeroMQZeroMQ

Our backend monitors and reactions all talk over ZeroMQ.

Avatar of clonn
clonn uses ZeroMQZeroMQ

Data Transfer

Avatar of Max Litnitskiy
Max Litnitskiy uses ZeroMQZeroMQ

The blood

How much does Redis cost?
How much does ZeroMQ cost?
Pricing unavailable
Pricing unavailable
News about ZeroMQ
More news