Applications often need quick access to values, counters, lists or sets without fetching each item from a larger database. Redis is a data-structure server that keeps its working data in memory and provides commands for those structures. Teams use it for caches, sessions, queues and other roles with different durability needs. Decide what data loss would mean before selecting persistence and failover settings, and check the license and capabilities of the particular release and distribution you plan to operate.
Current guidance
Redis 8 release notes document changed licensing choices and integrate capabilities formerly distributed as Redis Stack components. Do not carry the old page’s unqualified BSD statement into a current architecture decision; select a release and distribution deliberately.
First classify the workload: disposable cache, sessions, queues, persistent records and search indexes have different recovery requirements. Choose standalone, Sentinel or cluster topology based on clients and scale, and configure memory, eviction, persistence and access controls for that role. Valkey can be evaluated separately, but protocol familiarity does not prove module, command or persistence-format equivalence.
For a change of chart, image publisher or engine, inventory keys, modules, scripts, ACLs, backups and client libraries. Rehearse restore and replay representative commands, including expiration and failover, before switching writers. Preserve a recovery path that accounts for writes accepted on the new system. This guidance is a selection and migration review; it supplies no benchmark or generic promise of lossless in-place upgrade.
Historical upstream link check · 2026-10-09
The recorded upstream address responded successfully (HTTP 200) on 2026-10-09. Link availability does not certify the historical installation instructions or current security support.
Website availability is separate from project, chart and image support. Use the current guidance and primary sources on this page to assess the distribution.
Historical Kubedex content
Preserved for context. Commands, versions, prices and results below reflect the original research.
Redis is an advanced key-value cache and store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets, sorted sets, bitmaps, and hyperloglogs. Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.
It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
You can run atomic operations on these types, like appending to a string; incrementing the value in a hash; pushing an element to a list; computing set intersection, union, and difference; or getting the member with highest ranking in a sorted set.
In order to achieve its outstanding performance, Redis works with an in-memory dataset. Depending on your use case, you can persist it either by dumping the dataset to disk every once in a while or by appending each command to a log. Persistence can be optionally disabled if you just need a feature-rich, networked, in-memory cache.
Redis also supports trivial-to-setup master-slave asynchronous replication, with very fast non-blocking first synchronization, auto-reconnection with partial resynchronization on netsplit.
Other features include:
Transactions: MULTI, EXEC, DISCARD and WATCH are the foundation of transactions in Redis. They allow the execution of a group of commands in a single step.
Pub/Sub: SUBSCRIBE, UNSUBSCRIBE and PUBLISH implement the Publish/Subscribe messaging paradigm where (citing Wikipedia) senders (publishers) are not programmed to send their messages to specific receivers (subscribers).
Lua scripting: EVAL and EVALSHA are used to evaluate scripts using the Lua interpreter built into Redis starting from version 2.6.0.
The first argument of EVAL is a Lua 5.1 script. The script does not need to define a Lua function (and should not). It is just a Lua program that will run in the context of the Redis server.
Keys with a limited time-to-live: Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is often said to be volatile in Redis terminology.
LRU eviction of keys: LRU is actually only one of the supported eviction methods. This page covers the more general topic of the Redis max memory directive that is used in order to limit the memory usage to a fixed amount, and it also covers in depth the LRU algorithm used by Redis, that is actually an approximation of the exact LRU.
You can use Redis from most programming languages out there.
Redis is written in ANSI C and works in most POSIX systems like Linux, *BSD, OS X without external dependencies. Linux and OS X are the two operating systems where Redis is developed and more tested, and we recommend using Linux for deploying. Redis may work in Solaris-derived systems like SmartOS, but the support is the best effort. There is no official support for Windows builds, but Microsoft develops and maintains a Win-64 port of Redis.
Sources & further reading
Spotted something that needs another look?
Help improve this page →