1 3 mins read
| Published on: December 28, 2022 | Last updated on: May 14, 2024

Redis, which stands for Remote Dictionary Server, is a fast, key-value data store that operates in memory and is free to use. Created by Salvatore Sanfilippo, Redis was initially developed to enhance the scalability of his Italian startup. Today, Redis is a versatile tool used as a database, cache, message broker, and queue.

Why Use Redis with Nextcloud?

Redis is renowned for its impressive response times of less than one millisecond, enabling it to handle millions of requests per second. This makes it an ideal choice for real-time applications in various fields such as gaming, ad-tech, financial services, healthcare, and the Internet of Things (IoT). Its speed and reliability have made Redis one of the most popular open-source engines. For the past five years, it has been named the “Most Loved” database by Stack Overflow.

When integrated with Nextcloud, Redis significantly enhances performance, especially in caching and session management. This optimization is crucial for applications requiring quick data retrieval and processing, such as:

  • Caching: Reduces the load on the primary database by storing frequently accessed data.
  • Session Management: Ensures fast and reliable user session handling.
  • Gaming and Leaderboards: Provides real-time updates and fast data access.
  • Real-time Analytics: Delivers immediate insights from live data.
  • Geospatial Applications: Handles location-based data efficiently.
  • Ride-hailing and Chat/Messaging: Supports high-speed data transactions.
  • Media Streaming: Enhances the performance of streaming services.
  • Pub/Sub Applications: Efficiently manages publish/subscribe messaging patterns.

Installing Redis on Major Linux Distributions

Most major Linux distributions provide packages for Redis, making installation straightforward. Here’s a quick guide to get you started:


For those running a minimal distribution, such as a Docker container or an LXC container, there may be a need to install lsb-release first. This package provides essential information about the Linux distribution in use.

  • Machine Used: LXC Container running Ubuntu 20.04

Here’s how you can install lsb-release:

sudo apt install lsb-release

Note: Installing this package ensures compatibility with various scripts and applications that rely on specific distribution information. It’s particularly useful in containerized environments where such information might not be readily available.

sudo apt update
sudo apt install redis-server


sudo yum install epel-release
sudo yum install redis


sudo dnf install redis
cli display of updating the OS for redis
cli display of redis install

Remote Access

If you’d like to connect applications that are not on the machine, we can do it this way.

sudo nano /etc/redis/redis.conf

Change bind to bind . Save and exit and then run:

sudo service redis-server restart


You’ll need to install the redis php module on the nextcloud server as well:

sudo apt install php-redis

Step 2 — Testing Redis for Nextcloud

Prior to making any more changes to Redis’ setup, it’s a good idea to verify that it’s working as intended, as you would with any freshly installed program. We will go through two techniques to confirm that Redis is operating appropriately in this stage.

Start by confirming that the Redis service is operating

sudo systemctl status redis

If it is running without any errors, this command will produce output similar to the following:

Connect to the server using redis-cli, the command-line client for Redis, to verify that it is operating properly:


Should be more than enough for testing its connectivity.

Step 3 – Connect Redis to Nextcloud

Local Redis

At this point we know Redis is functional and ready to be implement into our Nextcloud instance. Head to your Nextcloud config folder, edit the config.php and add these lines:

'memcache.local' => '\\OC\\Memcache\\Redis',
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'filelocking.enabled' => 'true',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => 6379,
'timeout' => 0.0,

Remote Redis server

If you want to use a remote Redis server you need to set the Ip or FQDN of the Redis machine in the ‘host’ parameter:

'memcache.local' => '\\OC\\Memcache\\Redis',
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'filelocking.enabled' => 'true',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'CHANGEME',
'port' => 6379,
'timeout' => 0.0,


That’s it, your Nextcloud instance should automatically start using Redis for memory caching and help prevent deadlocks.

Optimizing Redis for Nextcloud

After successfully installing Redis and connecting it to your Nextcloud instance, you can further enhance performance by applying various optimization techniques. Below are some essential tips and tuning suggestions to help you make the most out of Redis with Nextcloud.

1. Tuning Redis Configuration

Redis’s performance can be optimized by adjusting its configuration file (/etc/redis/redis.conf). Here are some key settings to consider:

Max Memory

Set a limit on how much memory Redis can use based on your system’s available resources. This prevents Redis from consuming all available system memory and ensures stable performance.

maxmemory 256mb
maxmemory-policy allkeys-lru

Persistence Options

Depending on your requirements, you can enable or disable persistence to improve performance. If data persistence is not critical, disabling it can free up I/O resources.

appendonly no

TCP Keepalive

Set an appropriate value for TCP keepalive to ensure a more reliable connection.

tcp-keepalive 300

2. Monitoring Redis Performance

To maintain optimal performance, it’s crucial to monitor Redis’s behavior and resource usage. Redis provides several tools for this purpose:

Monitoring Commands

Use the redis-cli monitor command to observe all the commands processed by the server in real-time. This helps in identifying any performance bottlenecks.

redis-cli monitor


Run the redis-benchmark tool to test how many requests per second your Redis server can handle. This provides a clear picture of your Redis instance’s performance capabilities.


3. Securing Redis

If your Redis instance is exposed to the WAN network (e.g., binding to and 1:1 or port forwarding), implementing security measures is crucial to prevent unauthorized access:

Set a Strong Password

Configure a strong password in the Redis configuration file to protect your instance from unauthorized access.

requirepass your-strong-password

Use Firewall Rules

Ensure that only trusted IP addresses can connect to your Redis port (usually 6379). This can be achieved by configuring your firewall rules accordingly.

For more in-depth instructions and advanced configurations, refer to the official Redis documentation and Nextcloud documentation.


Vivaldi Se6iujxznk

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

Copyright @2022-2024 All Right Reserved – PCPlanet

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. You understand and give your consent that your IP address and browser information might be processed by the security plugins installed on this site. By clicking “Accept”, you consent to the use of ALL the cookies.
Accept Read More

Privacy & Cookies Policy