What is Redis and Why to Use Redis?
Source: Dev.to
What is Redis?
Redis (Remote DIctionary Server) is an open‑source, in‑memory NoSQL database that stores data as key/value pairs. While it can be used as a standalone database, it is often paired with other databases to boost performance. Redis shines in scenarios that require live, instant data such as leaderboards, messaging, gaming, and more.
Why use Redis if you already have a database?
- In‑memory speed – Most data resides in RAM, giving Redis sub‑millisecond latency. Reads and writes are typically O(1), making them 1,000–10,000× faster than disk‑based access.
- Caching – Frequently requested data can be cached in Redis, dramatically reducing response times and eliminating bottlenecks caused by slower data sources.
- Ease of integration – Over 100 open‑source client libraries exist for many programming languages. Redis also offers features like Redis Sentinel and Redis Cluster for high availability, and Redis Enterprise adds clustering, load balancing, and other enterprise‑grade services.
- Persistence options – Although its primary strength is in‑memory storage, Redis can persist data to disk using RDB snapshots (and AOF logs) for durability when used as a standalone database.
- Versatile data model – Redis supports a wide range of data types, making it suitable for many use cases, including AI and large language model (LLM) workloads.
Redis data types
- String
- Hash
- List
- Set
- Sorted set
- Vector set
- Stream
- Bitmap
- Bitfield
- Geospatial
- JSON
- Probabilistic data types
- Time series
Basic Redis commands
Note: Command keywords are traditionally written in uppercase, but Redis accepts them in any case.
Setting and getting values
SET name Joy
# returns OK
GET name
# returns "Joy"
Expiration
Set a key with a time‑to‑live (TTL) of 60 seconds:
SET name Joy EX 60
Remove the expiration (make the key permanent):
PERSIST name
Deleting a key
DEL name
Checking existence
EXISTS name
# returns 0 if the key does not exist, 1 if it does
List operations (push/pop)
Push elements to the left (head) or right (tail) of a list:
LPUSH mylist "first"
RPUSH mylist "last"
Pop elements from the left or right:
LPOP mylist # removes and returns the first element
RPOP mylist # removes and returns the last element
These examples cover only a fraction of Redis’s command set, but they illustrate how straightforward it is to start using Redis in your applications. For a complete reference, consult the official Redis documentation.