Cache

O middleware de cache usa uma abordagem de inversão de dependência para integração com o Redis. Em vez de depender diretamente de uma biblioteca cliente Redis específica, ele define uma interface RedisClient à qual qualquer implementação Redis pode se adaptar. Esse design oferece vários benefícios:

Flexibilidade: você pode usar qualquer biblioteca cliente Redis (go-redis, redigo, etc.) criando um adaptador que implemente a interface.

Desacoplamento: o middleware não precisa saber os detalhes específicos de como o Redis é acessado.

Testabilidade: facilita a criação de simulações para testes de unidade, conforme demonstrado no exemplo redis.mock.

Adaptabilidade: se a API do Redis mudar ou se você quiser mudar para outro sistema de armazenamento, basta modificar o adaptador.

Controle de dependência: evita dependências diretas de bibliotecas externas, prevenindo conflitos de versão.


// Function signature
    app.Use(cache.New())
                        
routing.go