O 8 de marzo actualizouse o sistema de caché de datos na RAM memcached ata versión 1.6.0. A principal diferenza con versións anteriores é que agora é posible usar un dispositivo externo para almacenar datos en caché.
memcached úsase para acelerar o traballo de sitios ou aplicacións web moi cargados almacenando o acceso ao DBMS e aos datos intermedios.
Na nova versión, a opción está habilitada por defecto ao construír extstore, que se encarga de utilizar medios externos. Para desactivar a función, especifique o parámetro --disable-extstore en ./configure. Non obstante, aínda que a compilación estea activada por defecto, debes especificar explícitamente o uso desta función ao iniciar.
Extstore permite o uso de externos flash ou SSD unidade para aumentar o tamaño da caché. Isto permitirache almacenar na caché cantidades de datos moito maiores que sen utilizar esta función.
Outra innovación importante foi a reelaboración da interacción da rede, que agora está adaptada para o procesamento automático de solicitudes por lotes dentro dunha única chamada ao sistema. Nas versións anteriores, o procesamento de cada solicitude GET transmitíase nun paquete separado, mentres que na nova versión, as respostas a varias solicitudes recóllense nun metapaquete e transmítense á vez. Como resultado desta innovación, a carga da CPU reduciuse nun 25%.
Ademais, como resultado desta modernización, reduciuse o consumo de memoria para almacenar en búfer: de 4.5 KB a 400-500 bytes por chamada, e reduciuse o uso das funcións malloc, realloc e free, o que provocou unha menor fragmentación da memoria. Cada fío agora xestiona o seu propio grupo de búferes de lectura e escritura para conexións activas. Para axustar o tamaño destes búfers, ofrécense as opcións -o resp_obj_mem_limit=N e -o read_buf_mem_limt=N.
Tamén se anunciou que o protocolo binario para o intercambio co servidor estaba a ser transferido á categoría "obsoleto". Substituíuse polo metaprotocolo, unha versión de texto do protocolo con metacomandos compactos. O novo protocolo ten en conta todas as operacións dispoñíbeis previamente mediante versións antigas do protocolo binario.
>>> Código fonte (Licenza BSD)
>>> Descrición dos metacomandos
Fonte: linux.org.ru