Motivação da criação
- Entre as bibliotecas de cache para Go, não há nenhuma realmente livre de contenção. A maioria é apenas um mapa com mutex e política de remoção
- Isso não alcança a velocidade de caches de outras linguagens, como o Caffeine
- O Ristretto, o cache mais rápido da Dgraph Labs, era até 30% mais rápido que os concorrentes (o Otter é muito mais rápido), mas não tinha uma boa taxa de acerto
- Em aplicações reais, isso pode ser um problema, porque você não quer esbarrar no desempenho da biblioteca de cache
- Como resultado, a ideia foi criar o cache mais rápido e mais fácil de usar
Principais recursos
- API simples: basta definir os parâmetros desejados no Builder e usar
- Configuração automática: é configurado automaticamente com base nos recursos de paralelismo da aplicação
- Genéricos: qualquer tipo comparável pode ser usado com segurança como chave, e qualquer tipo pode ser usado como valor
- TTL: valores expirados são removidos automaticamente do cache
- Remoção baseada em custo: oferece suporte à remoção com base no custo de cada item
- Excelente throughput: atualmente é a biblioteca de cache mais rápida, superando com folga os concorrentes (Theine, Ristretto, Bigcache, Fastcache)
- Ótima taxa de acerto: usa o novo algoritmo S3-FIFO, que apresenta resultados excelentes
1 comentários
O nome parecia familiar, então fui procurar e tinha isso aqui
Otter: modelo multimodal com ajuste de comandos dentro do contexto
Acho que já está na hora de parar de criar coisas com nomes de animais. A menos que seja algo muito raro, quase todos já existem.
A análise da IA também pareceu boa, então resolvi acrescentar.
Opinião do GN⁺