On March 8, a system update for in-memory data caching was completed. Memcached to version 1.6.0The main difference from previous releases is that it is now possible to use an external device for the cached data storage.
Memcached This is used to accelerate the performance of high-load websites or web applications by caching access to the DBMS and intermediate data.
In the new version, the parameter is enabled by default during the build. extstore, which is responsible for using external storage. To disable this feature, the parameter —disable-extstore should be specified in . /configure. However, despite being enabled by default, the use of this feature must be explicitly specified at runtime.
Extstore allows the use of external Flash or SSD storage to increase cache size. This enables caching much larger volumes of data than without using this feature.
Another important innovation is the overhaul of network interaction, which is now adapted for automatic processing of batch requests within a single system call. In previous versions, the processing of each GET request was transmitted in a separate packet, while in the new version, responses to multiple requests are collected in one meta-packet and transmitted at once. As a result of this innovation, CPU load has been reduced by 25%.
Additionally, as a result of this modernization, memory consumption for buffering was reduced — from 4.5 KB to 400-500 bytes per call, and the use of malloc, realloc, and free functions was minimized, leading to reduced memory fragmentation. Each thread now processes its own buffer pool for reading and writing for active connections. The options -o resp_obj_mem_limit=N and -o read_buf_mem_limit=N are provided to configure the size of these buffers.
It was also announced that the binary protocol for server communication has been deprecated. It has been replaced by the meta protocol — a text version with compact meta commands. The new protocol takes into account all previously available operations using the old versions of the binary protocol.
>>> Official website
>>> Source Code (BSD license)
>>> Description of meta commands
Source: linux.org.ru

