This opening episode makes sure your foundational skills and environment are ready before you touch Redis. You will install Redis Server via Docker or natively, get to know redis-cli, and verify your first installation with the basic PING and INFO commands.

Welcome to the Learning Redis series! This series will take you to mastering Redis — an in-memory data structure store with sub-millisecond latency — from the foundational concepts to production-grade architecture. There are 21 episodes arranged into six phases, and episode 0 is the entry point.
Before touching redis-cli, there are some foundational skills and software you must have. Why are prerequisites important? Because Redis is a server that communicates over the TCP protocol — you will be dealing with the terminal, network connections, and daemon processes a lot. If this foundation isn't solid, the following episodes will feel heavy.
Episode 0 is your roadmap: making sure your foundational skills are in place, installing Redis Server, getting to know redis-cli, choosing a GUI client, and performing the first verification. Once this episode is done, the entire series can be followed comfortably.
Redis is managed almost entirely from the command line. You must be comfortable with the terminal: navigating directories, running processes, and reading log output. Also get used to using SSH if you will manage Redis on remote servers later.
whoami
pwd
ls -laThe three commands above look trivial, but they are the daily habits of a Redis engineer. The ability to read terminal output carefully will save you in episodes 17-19 when debugging latency and memory.
Redis is a standalone server that serves many clients over the TCP protocol, with default port 6379. This understanding matters because almost all Redis troubleshooting relates to connections: why a client can't connect, why it timed out, or why many connections are hanging.
application / redis-cli / client library
│ TCP (default port 6379)
▼
Redis Server (single instance / cluster)Understand these three concepts: the server is the Redis process, the client is anything that sends commands, and the protocol is the communication rules between the two. In episode 16 we'll dissect how client libraries make use of this protocol.
Info
Redis uses RESP (REdis Serialization Protocol) as its communication language. In the early episodes, you only need to know that RESP is what makes Redis callable from any programming language.
The fastest and cleanest way is Docker. The redis:7-alpine image is official from Docker Hub, lightweight, and already includes redis-cli inside. You just run the container with port 6379 published to the host:
docker run --name redis \
-p 6379:6379 \
-d redis:7-alpineOnce the container is running, make sure the process is active and check its short log:
docker ps
docker logs redisFor those who prefer a native setup, on Ubuntu/Debian you can use the official Redis repository. The installed version will follow the repository — make sure it is at least Redis 7.x so that every feature in this series is available.
sudo apt update
sudo apt install -y redis-server
sudo systemctl enable --now redis-serverOn macOS, brew install redis is the most common route. Whichever you choose, the end result you need is two things: a running Redis server process, and a redis-cli command accessible from the terminal.
redis-cli is Redis's built-in terminal client — your main tool throughout this series. Let's do the first verification:
redis-cli PINGA healthy server will reply PONG. Try a few basic diagnostic commands too:
redis-cli INFO server
redis-cli DBSIZEINFO server displays metadata such as the Redis version and days of uptime. DBSIZE counts the number of keys in the current database. Be careful with FLUSHDB — it deletes all data in the active database, so don't run it on a production server.
Danger
FLUSHALL and FLUSHDB are destructive commands. While learning, you are free to use them. In production, these two commands are usually disabled via rename-command — we discuss that in episode 14.
Even though this series focuses on redis-cli, a GUI client is very helpful for visualizing data structures. The three most popular options:
All of the options above connect to the same Redis server over port 6379. A GUI never replaces redis-cli for scripting and automated operations, but it is very useful when you want to "see" the contents of the database.
Before moving on to episode 1, run a final verification to make sure everything is ready:
redis-server --version
redis-cli ping
redis-cli INFO server | grep redis_versionIf all three commands above run without errors, your environment is ready. One more habit to build from now: get used to writing complete commands on a single line, for example redis-cli ping rather than typing redis-cli and then ping in the interactive prompt. Both are valid, but the one-line style is easier to document and automate.
In episode 0 you have laid the foundation for the entire series: understanding terminal fundamentals and the client-server model, installing Redis Server via Docker or natively, getting to know redis-cli, and choosing a GUI client for visualization.
Key takeaways:
docker run --name redis -p 6379:6379 -d redis:7-alpine.redis-cli PING replies PONG — that is the most basic connection verification.INFO and DBSIZE are the first diagnostic commands you should memorize.FLUSHDB/FLUSHALL in production; keep them for the learning environment.redis-cli remains your primary weapon.In the next episode, episode 1, we will cover history, concepts, and why choose Redis — from Redis's birth by Salvatore Sanfilippo in 2009, the license change and the emergence of the Valkey fork, to a comparison of Redis with Memcached, KeyDB, and DragonflyDB. Make sure your redis-cli PING already replies PONG, because the journey begins!