Question: What does Redis do?


Redis is an in-memory data structure store that can be used as a database, cache, and message broker. It provides high performance and scalability, making it ideal for use in modern web applications. Redis supports a wide range of data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, and geospatial indexes with radius queries.

Some of the key features of Redis are:

  • Advanced data types: Redis supports various advanced data structures like sorted sets, hashes, and bitmaps.
  • Persistence: Redis can persist data to disk, so you don't have to worry about losing your data if the server crashes.
  • Replication: Redis supports master-slave replication, so you can have multiple instances of Redis running and keep your data synchronized between them.
  • High availability: Redis Sentinel provides automatic failover and monitoring, ensuring that your Redis instance remains available even in the event of a node failure.
  • Lua scripting: Redis allows you to write Lua scripts that can be executed atomically on the server-side, giving you more control over your data operations.
  • Pub/sub messaging: Redis supports pub/sub messaging, which allows you to build real-time systems where clients can subscribe to channels and receive messages when events occur.

Here's an example of using Redis to store and retrieve data:

import redis # Connect to Redis r = redis.Redis(host='localhost', port=6379, db=0) # Set a value r.set('mykey', 'Hello World!') # Get a value value = r.get('mykey') print(value)

This code connects to a Redis instance running on localhost and sets a value for the key mykey. It then retrieves the value and prints it, which should output "Hello World!".

Was this content helpful?

White Paper

Free System Design on AWS E-Book

Download this early release of O'Reilly's latest cloud infrastructure e-book: System Design on AWS.

Free System Design on AWS E-Book
Start building today

Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement.