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. Neo4j vs Redis

Neo4j vs Redis

OverviewDecisionsComparisonAlternatives

Overview

Redis
Redis
Stacks61.9K
Followers46.5K
Votes3.9K
GitHub Stars42
Forks6
Neo4j
Neo4j
Stacks1.2K
Followers1.4K
Votes351
GitHub Stars15.3K
Forks2.5K

Neo4j vs Redis: What are the differences?

Neo4j vs Redis

Neo4j and Redis are two popular database management systems, each with its own unique features and strengths. Here are the key differences between Neo4j and Redis:

  1. Data Model: Neo4j is a graph database that represents data in a graph structure, consisting of nodes and relationships. It is highly suited for managing complex relationships and performing graph-based operations efficiently. On the other hand, Redis is a key-value store that stores data with a simple key-value pair structure. It excels in caching and real-time data processing applications.

  2. Scalability: Neo4j is designed to handle large-scale graph datasets efficiently, with the ability to scale horizontally across multiple machines. It provides built-in clustering and partitioning mechanisms to distribute data across a cluster. In contrast, Redis is known for its exceptional performance and can handle high write and read loads. It supports replication and sharding for scalability, but it is not specifically built for handling large-scale datasets as in Neo4j.

  3. Query Language: Neo4j uses the Cypher query language, which is specifically designed for querying graph structures. Cypher provides a declarative way of expressing complex graph operations and supports pattern matching, traversal, and aggregation. Redis, on the other hand, supports various data access patterns and provides a rich set of commands for operations like set, get, increment, and more. It does not have a dedicated query language like Cypher.

  4. Data Manipulation: Neo4j provides a comprehensive set of operations for creating, updating, and deleting nodes, relationships, and properties in the graph. It supports transactional operations, ensuring data integrity. Redis, on the other hand, supports atomic operations for data manipulation, allowing multiple commands to be executed as a single operation. However, it does not have built-in support for complex data manipulation like Neo4j.

  5. Data Persistence: Neo4j persists data to disk by default, ensuring durability and data integrity. It provides ACID (Atomicity, Consistency, Isolation, Durability) guarantees for transactions. Redis, on the other hand, is an in-memory database that can optionally persist data to disk. It offers different levels of persistence durability based on configuration settings but does not provide strong ACID guarantees.

  6. Use Cases: Neo4j is well-suited for applications that involve complex relationships and require graph operations like recommendations, fraud detection, social networks, and network analysis. Its graph model allows for efficient traversals and querying of connected data. Redis, on the other hand, is widely used for caching, session management, real-time analytics, and pub/sub messaging. It excels in scenarios that require high-performance data access and data manipulation capabilities.

In summary, Neo4j is a graph database that excels in managing complex relationships and performing graph operations efficiently, while Redis is a versatile key-value store that is highly performant and offers various data access patterns. The choice between the two depends on the specific requirements of the application and the nature of the data being managed.

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

Advice on Redis, Neo4j

Jaime
Jaime

none at none

Aug 31, 2020

Needs advice

Hi, I want to create a social network for students, and I was wondering which of these three Oriented Graph DB's would you recommend. I plan to implement machine learning algorithms such as k-means and others to give recommendations and some basic data analyses; also, everything is going to be hosted in the cloud, so I expect the DB to be hosted there. I want the queries to be as fast as possible, and I like good tools to monitor my data. I would appreciate any recommendations or thoughts.

Context:

I released the MVP 6 months ago and got almost 600 users just from my university in Colombia, But now I want to expand it all over my country. I am expecting more or less 20000 users.

56.4k views56.4k
Comments

Detailed Comparison

Redis
Redis
Neo4j
Neo4j

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.

Neo4j stores data in nodes connected by directed, typed relationships with properties on both, also known as a Property Graph. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions.

-
intuitive, using a graph model for data representation;reliable, with full ACID transactions;durable and fast, using a custom disk-based, native storage engine;massively scalable, up to several billion nodes/relationships/properties;highly-available, when distributed across multiple machines;expressive, with a powerful, human readable graph query language;fast, with a powerful traversal framework for high-speed graph queries;embeddable, with a few small jars;simple, accessible by a convenient REST interface or an object-oriented Java API
Statistics
GitHub Stars
42
GitHub Stars
15.3K
GitHub Forks
6
GitHub Forks
2.5K
Stacks
61.9K
Stacks
1.2K
Followers
46.5K
Followers
1.4K
Votes
3.9K
Votes
351
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
  • 69
    Cypher – graph query language
  • 61
    Great graphdb
  • 33
    Open source
  • 31
    Rest api
  • 27
    High-Performance Native API
Cons
  • 9
    Comparably slow
  • 4
    Can't store a vertex as JSON
  • 1
    Doesn't have a managed cloud service at low cost

What are some alternatives to Redis, Neo4j?

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.

Dgraph

Dgraph

Dgraph's goal is to provide Google production level scale and throughput, with low enough latency to be serving real time user queries, over terabytes of structured data. Dgraph supports GraphQL-like query syntax, and responds in JSON and Protocol Buffers over GRPC and HTTP.

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.

RedisGraph

RedisGraph

RedisGraph is a graph database developed from scratch on top of Redis, using the new Redis Modules API to extend Redis with new commands and capabilities. Its main features include: - Simple, fast indexing and querying - Data stored in RAM, using memory-efficient custom data structures - On disk persistence - Tabular result sets - Simple and popular graph query language (Cypher) - Data Filtering, Aggregation and ordering

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