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 Tarantool

Redis vs Tarantool

OverviewComparisonAlternatives

Overview

Redis
Redis
Stacks61.9K
Followers46.5K
Votes3.9K
GitHub Stars42
Forks6
Tarantool
Tarantool
Stacks32
Followers45
Votes9
GitHub Stars3.6K
Forks394

Redis vs Tarantool: What are the differences?

Introduction

Redis and Tarantool are both in-memory data storage systems that are widely used in web applications. While they share some similarities, they also have distinct differences that make them suitable for different use cases. Below, we highlight the key differences between Redis and Tarantool.

  1. Data Model: Redis is a key-value store, where data is stored as simple key-value pairs. It supports a wide range of data structures, such as strings, lists, sets, and hashes, providing flexibility in data manipulation. On the other hand, Tarantool is a NoSQL database that supports multiple data models, including key-value, document, and relational. This allows Tarantool to handle complex data structures and relationships more efficiently.

  2. Replication: Redis supports single-master, multiple-slave replication, where data is asynchronously replicated from the primary server to the secondary servers. This provides high availability but might have some data loss in case of failures. In contrast, Tarantool has synchronous master-slave replication, ensuring that all writes are replicated to the replicas before they are considered successful. This guarantees data consistency but might introduce some latency.

  3. Programming Languages: Redis supports various client libraries, making it compatible with a wide range of programming languages, including but not limited to Python, Java, Ruby, and Node.js. Tarantool, on the other hand, has its own programming language called Lua, which is used to manipulate and query data. While it also provides support for other languages like Python and C++, it is primarily designed to work with Lua.

  4. Durability: Redis does not guarantee durability by default since it primarily stores data in memory. However, it provides options to persist data on disk through logging or snapshots. Tarantool, on the other hand, ensures durability by writing all the changes to disk before considering them committed. This makes it suitable for applications where data persistence is critical.

  5. Concurrency Control: Redis supports single-threaded execution and relies on multiple isolated instances and replication for concurrency. On the other hand, Tarantool is a multi-threaded system that supports concurrent execution of transactions and provides built-in ACID (Atomicity, Consistency, Isolation, Durability) guarantees. This makes Tarantool better suited for applications with high concurrency and strong consistency requirements.

  6. Store Procedures and Triggers: Tarantool supports stored procedures and triggers, allowing developers to define and execute custom scripts directly on the server-side. This provides more flexibility in data manipulation and allows for complex business logic to be executed within the database itself. Redis, on the other hand, does not have built-in support for stored procedures and triggers, relying on client-side logic for data manipulation.

In Summary, Redis is a flexible key-value store with support for various data structures and programming languages, while Tarantool is a versatile NoSQL database with advanced features like multiple data models, synchronous replication, and stored procedures. The choice between Redis and Tarantool depends on the specific requirements of the application in terms of data complexity, data persistence, concurrency, and business logic execution.

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
Tarantool
Tarantool

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.

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

-
Fast; Open source; Easy to use;Multiple index types: HASH, TREE, RTREE, BITSET;Asynchronous master-master replication;Authentication and access control;The database is just a C extension to the application server and can be turned off
Statistics
GitHub Stars
42
GitHub Stars
3.6K
GitHub Forks
6
GitHub Forks
394
Stacks
61.9K
Stacks
32
Followers
46.5K
Followers
45
Votes
3.9K
Votes
9
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
  • 3
    Performance
  • 2
    Open source
  • 2
    Super fast
  • 1
    Advanced key-value cache
  • 1
    In-memory cache
Integrations
No integrations available
Node.js
Node.js
Perl
Perl
Java
Java
Python
Python
Golang
Golang
NGINX
NGINX
C#
C#

What are some alternatives to Redis, Tarantool?

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.

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.

BuntDB

BuntDB

BuntDB is a low-level, in-memory, key/value store in pure Go. It persists to disk, is ACID compliant, and uses locking for multiple readers and a single writer. It supports custom indexes and geospatial data. It's ideal for projects that need a dependable database and favor speed over data size.

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