Memcached
From Wikipedia:memcached:
Memcached (pronunciation: mem-cashed, mem-cash-dee) is a general-purpose distributed memory caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source (such as a database or API) must be read.
The system uses a client–server architecture. The servers maintain a key–value associative array; the clients populate this array and query it by key. Keys are up to 250 bytes long and values can be at most 1 megabyte in size.
Clients use client-side libraries to contact the servers which, by default, expose their service at port 11211. Both TCP and UDP are supported. Each client knows all servers; the servers do not communicate with each other. If a client wishes to set or read the value corresponding to a certain key, the client's library first computes a hash of the key to determine which server to use. This gives a simple form of sharding and scalable shared-nothing architecture across the servers.
Installation
Install the memcached package.
Configuration
Since 1.5.6 memcached defaults to listening only on TCP. -l
allows you to bind to specific interfaces or IP addresses
By default, memcached listens for connections only on local network interfaces. It may be preferred to change the -l
option to allow listening on external addresses instead.
The service does not have a configuration file in /etc
, The options for the service can be edited by editing the systemd unit. See man memcached
.
systemctl edit memcached.service --full
This will copy /usr/lib/systemd/system/memcached.service to /etc/systemd/system/memcached.service and open an editor for the latter file.
SYSTEMD_EDITOR
environment variable like: SYSTEMD_EDITOR=vim systemctl edit memcached.service --full
See man systemctl
for details.Then start and/or enable the server with:
systemctl start memcached.service systemctl enable memcached.service
Client-side software
- C/C++: libmemcached
- Python: python-binary-memcached, python-memcached, python-pylibmc
- Perl: perl-cache-memcached
- Gambas: gambas3-gb-memcached