Can I use apache2 and memcache in same server?

Murat Demir asked:

I am really new to server development. I have a server (Server version: Apache/2.4.41 (Ubuntu)) for Django and it’s running on apache2. I want to use Memcache for a large queryset. I just wanna use the following Django future:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

As I understand with the documentations I have to install Memcached, configure, and start at systemctl. As I mention before I have an apache2 server on systemctl. If I will install Memcached with sudo apt install memcached, is it going to be a problem?

I am really scaring to install something on the server because we have almost 20 projects running on apache2 and I don’t want to ruin it. I try to use apache2 and nginx at the same time in the past and it causes big problems.

Which way should I follow to use memcached?. Do I have to buy a new server?

My answer:


Yes, you can run memcached on the same server safely, if you have enough free memory available to store whatever data it will cache.

The purpose of memcached is to keep some data in memory so that it can be accessed more quickly than by loading it from disk repeatedly. That means that memory will be unavailable for other purposes while it is being used for caching your application data.

You should have some idea of how much memory will be needed. If you do not already know, you can run tests in your test environment. Because you mention a large queryset, you probably already know approximately how much memory this will need.

After you know approximately how much memory you need, you can decide if your server already has enough memory, or if you need to add more memory (or use another server).


View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.