Question: Does Redis Use HTTP?

Answer

No, Redis does not use HTTP as its primary communication protocol. Instead, Redis uses a custom protocol called the Redis Serialization Protocol (RESP). RESP is a simple text-based protocol that allows for efficient communication between clients and the Redis server.

While it's not designed to work with HTTP out of the box, you can create or use an existing HTTP API to interact with Redis if needed. For example, you can use tools like webdis or build your own custom REST API with Node.js, Python, or any other language.

Here's an example of using Node.js and Express to create a simple REST API that interacts with Redis:

const express = require('express'); const redis = require('redis'); const app = express(); const client = redis.createClient(); app.use(express.json()); app.get('/get/:key', (req, res) => { const { key } = req.params; client.get(key, (err, value) => { if (err) return res.status(500).send(err); res.send(value); }); }); app.post('/set', (req, res) => { const { key, value } = req.body; client.set(key, value, (err, reply) => { if (err) return res.status(500).send(err); res.send(reply); }); }); app.listen(3000, () => { console.log('Server started on port 3000'); });

This example creates an API with two endpoints: one for getting a value from Redis (/get/:key) and another for setting a value in Redis (/set). However, it's important to note that using HTTP can add overhead and may not be as performant as using RESP directly.

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.