Gerencie seu cache com performance, controle e elegância

CacheChan é uma biblioteca de cache distribuído e local para aplicações .NET, com suporte a LRU, TTL e integração com dashboards analíticos via API Key.

Recursos Poderosos

Políticas de Expiração

Suporte completo a políticas de expiração configuráveis, incluindo TTL (Time-To-Live) para controle preciso da validade dos dados em cache.

Cache de Alta Performance

Implementação LRU (Least Recently Used) e in-memory otimizada para máxima performance e eficiência no uso de recursos.

API REST Integrada

API REST completa com autenticação via API Key para integração segura com qualquer aplicação ou serviço.

Integração com Bancos

Suporte nativo para Redis e MongoDB, permitindo escalabilidade horizontal e persistência de dados quando necessário.

Dashboard Analítico

Visualize métricas em tempo real, gerencie entradas de cache e monitore a performance do seu sistema através de um dashboard intuitivo.

.NET Nativo

Desenvolvido especificamente para o ecossistema .NET, garantindo compatibilidade e performance otimizada para suas aplicações.

Fácil de Implementar

Integre o CacheChan em sua aplicação .NET em minutos com nossa API simples e intuitiva. Comece a usar cache distribuído sem complicações.

// Instalar via NuGet
Install-Package CacheChan

// Criar cache com ou sem métricas
var options = new CacheOptions
{
    UseLru = true,
    LruCapacity = 1000,
    DefaultExpirationMinutes = 30
};

// Opcional: passar uma API Key para ativar as métricas
var cache = CacheFactory.CreateCache(apiKey: "minha-api-key", options: options);

// Usar em qualquer lugar da aplicação
public class ProductService
{
    private readonly ICacheService _cache;

    public ProductService(ICacheService cache)
    {
        _cache = cache;
    }

    public async Task<Product> GetProductAsync(int id)
    {
        var cacheKey = $"product:{id}";
        var product = await _cache.GetAsync<Product>(cacheKey);

        if (product == null)
        {
            // Buscar do banco de dados
            product = await _dbContext.Products.FindAsync(id);

            // Armazenar no cache com TTL de 1 hora
            await _cache.SetAsync(cacheKey, product, TimeSpan.FromHours(1));
        }

        return product;
    }
}

Pronto para melhorar a performance da sua aplicação?

Junte-se a centenas de desenvolvedores que já estão usando CacheChan para otimizar suas aplicações .NET.