Em termos de computação, um cache é uma coleção de dados temporários que deverão ser acessados ??no futuro e podem ser recuperados com extrema rapidez. Os dados armazenados em um cache podem ser uma simples reprodução de informações mantidas em outro lugar ou podem ter sido resultados de um cálculo anterior. Neste post, você conhecerá 9 excelentes sistemas de cache Linux gratuitos e de código aberto.
Arquivos em cache e a celeridade no acesso
Quando os dados armazenados no cache são solicitados, isso é conhecido como acerto de cache. A vantagem de um acerto de cache é que a solicitação será atendida consideravelmente mais rápido. O outro lado, uma perda de cache, ocorre quando as informações precisam ser recalculadas ou recuperadas de seu local original, consumindo mais recursos do sistema e tornando o acesso mais lento.
Se 20% dos dados forem acessados ??80% das vezes, e um sistema puder ser utilizado que reduza o custo e o tempo de obtenção desses 20%, o desempenho do sistema melhorará drasticamente. O ajuste fino de um sistema para melhorar a taxa de acertos do cache acelera o desempenho geral do sistema.
Os caches são empregados de diversas maneiras diferentes. Por exemplo, vemos caches sendo usados ??para armazenar itens na memória, no disco e em um banco de dados. Os caches também são frequentemente usados ??para atender solicitações de DNS, bem como cache distribuído, onde os caches são usados ??para se espalhar por diferentes hosts da rede.
O gráfico de classificações abaixo, elaborado pelo pessoal do Linux Links, traz excelentes softwares gratuitos e de código aberto. Esperançosamente, haverá algo de interesse aqui para quem implanta aplicativos que exigem acesso aleatório, previsível e de baixa latência a dados com alto rendimento sustentado.
Sistemas de cache
- Memcached: Sistema de cache de objetos de memória distribuída de alto desempenho
- Redis: um banco de dados de valores-chave persistente com interface de rede;
Hazelcast: um aplicativo de armazenamento de dados distribuído na memória e plataforma de computação; - Apache Ignite: um aplicativo de banco de dados distribuído, cache e plataforma de processamento;
Ehcache: um aplicativo de cache em processo Java puro baseado em padrões; - Java Caching System: um sistema de cache distribuído escrito em Java;
- Couchbase: um sistema distribuído de gerenciamento de banco de dados de valores-chave;
- yrmcds: uma biblioteca de cache LRU e servidor de valor-chave;
- Cachelot: um aplicativo de sistema de cache de objetos de memória com replicação mestre/escravo.