How to Install Memcached on Debian 10

Posted 

3 min read

Memcached is a free and open-source high-performance in-memory key-value data store. It is generally used to speed up applications by caching various objects from the results of API and database calls.

This article shows how to install and configure Memcached on Debian 10.

Prerequisites

You’ll need to be logged in as a user with sudo access to be able to install packages on your Debian system.

Installing Memcached on Debian 10

The memcached package is included in the default Ubuntu 20.04 repositories. To install it, enter the following command as root or user with sudo privileges :

sudo apt updatesudo apt install memcached libmemcached-tools

The libmemcached-tools package provides several command-line tools for interacting with the Memcached server.

Once the installation is completed, the Memcached service will start automatically. You can verify it by checking the status of the service:

sudo systemctl status memcached

The output will look like this:

● memcached.service - memcached daemon
   Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-08-14 14:22:01 CDT; 3min 40s ago
     Docs: man:memcached(1)
...

That’s it. You have successfully installed Memcached on your Debian 10 server.

Configuring Memcached

Memcached options can be configured in the /etc/memcached.conf file. The default configuration settings are sufficient for most users.

Remote Access

Memcached service listens on localhost only. If the client connecting to the server is also running on the same host you don’t need to change the default configuration file.

When not properly configured, Memcached can be used to perform a distributed denial-of-service (DDoS) attack. To allow remote connections to the Memcached server, you need to configure your firewall and allow access to the Memcached UDP port 11211 only from trusted clients.

The following example assumes that you are connecting to the Memcached server over a private network. The server IP is 192.168.100.20, and the client’s IP address is 192.168.100.30

The first step is to edit the memcached configuration and set the service to listen on the server’s private networking interface:

To do so, open the memcached.conf configuration file:

sudo nano /etc/memcached.conf

Locate the line that begins with -l 127.0.0.1 and replace 127.0.0.1 with the server IP address 192.168.100.20.

/etc/memcached.conf
-l 192.168.100.20

Restart the Memcached service for the changes to take effect:

sudo systemctl restart memcached

Once the service is configured, the next step is to open the memcached port in the firewall .

sudo ufw allow from 192.168.100.30 to any port 11211

Now you can connect to the Memcached server from the remote location.

Connecting to Memcached

There are many implementations of memcached clients written for different programming languages.

PHP

To use Memcached as a caching database for your PHP application such as WordPress, Drupal or, Magento, you need to install the php-memcached extension:

sudo apt install php-memcached

Python

There are several Python libraries for interacting with memcache. You can install your preferred library using pip :

pip install pymemcache
pip install python-memcached

Conclusion

We’ve shown you how to install Memcached on Debian 10. For more information on this topic, consult Memcached Wiki .

If you have any questions or feedback, feel free to comment below.