Databases 12 min read

Comprehensive Redis Interview Guide: Data Types, Core Features, Persistence, Clustering, and Performance Tips

This article provides an extensive overview of Redis for interview preparation, covering its supported data structures, key functionalities such as Sentinel, replication, transactions, Lua scripting, persistence mechanisms, clustering options, performance characteristics, memory‑optimization strategies, and common use‑case scenarios.

Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Comprehensive Redis Interview Guide: Data Types, Core Features, Persistence, Clustering, and Performance Tips

Redis supports a variety of data structures including strings, lists, sets, sorted sets, and hashes, each with specific characteristics such as binary‑safety and size limits.

Key features include Sentinel for high availability, replication for data backup, transaction support for atomic command execution, Lua scripting for complex server‑side logic, and multiple persistence options (RDB snapshots and AOF logs) to safeguard data.

Redis operates as a single‑process, single‑threaded server, using an event‑driven model to serialize concurrent requests, which eliminates traditional lock overhead.

Performance is notable with single‑node throughput reaching up to 80,000 TPS and 100,000 QPS; the article also explains the difference between QPS (queries per second) and TPS (transactions per second).

Compared with Memcached, Redis offers richer data types, higher speed, persistence, and master‑slave replication for data redundancy.

Eviction policies (volatile‑lru, volatile‑ttr, volatile‑random, allkeys‑lru, allkeys‑random, noeviction) manage memory when the maxmemory limit is reached, and eviction events are also logged to AOF.

Cluster solutions include Twemproxy, Codis, and native Redis Cluster 3.0, each with different handling of data sharding and node scaling; the hash‑slot mechanism (CRC16(key) mod 16384) determines key placement across 16,384 slots.

Read‑write separation improves read scalability by adding slave nodes, while data sharding distributes data across multiple masters to overcome single‑node storage limits.

Persistence choices: RDB creates periodic snapshots via a forked child process, while AOF logs every write operation; both can be enabled simultaneously, with AOF taking precedence during recovery.

Performance tuning recommendations include avoiding persistence on master nodes, using slaves for AOF backups, keeping master and slaves on the same LAN, limiting the depth of replication chains, and preferring simple chain replication over complex graph structures.

Popular Java clients are Redisson, Jedis, and Lettuce, with Redisson being the official recommendation.

Typical Redis use cases encompass session sharing, page caching, message queues, leaderboards/counting, and publish/subscribe messaging.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

clusteringdata-types
Mike Chen's Internet Architecture
Written by

Mike Chen's Internet Architecture

Over ten years of BAT architecture experience, shared generously!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.