Cenários de aplicação
Cenários de aplicativos do Redis
Muitos sites de comércio eletrônico de grande escala e aplicativos de transmissão de vídeo e jogos exigem acesso rápido a grandes quantidades de dados que possuem estruturas de dados simples e não precisam de consultas frequentes. Nesses cenários, você pode usar o Redis para obter acesso rápido e barato aos dados. O Redis permite que você recupere dados de armazenamentos de dados na memória, em vez de confiar inteiramente em bancos de dados baseados em disco mais lentos. Além disso, você não precisa mais executar tarefas de gerenciamento adicionais. Esses recursos tornam o Redis um complemento importante aos bancos de dados tradicionais baseados em disco e um serviço básico essencial para aplicativos da Internet que recebem acesso de alta simultaneidade.
Os cenários típicos de aplicativos do DCS for Redis são os seguintes:
- E-commerce flash sales
Catálogo de produtos de comércio eletrônico, ofertas e dados de vendas em flash podem ser armazenados em cache no Redis.
Por exemplo, o acesso a dados de alta concorrência em vendas flash dificilmente pode ser tratado por bancos de dados relacionais tradicionais. Isso requer que o hardware tenha uma configuração mais alta, como I/O de disco. Por outro lado, o Redis suporta QPS 100.000 por nó e permite implementar o bloqueio usando comandos simples como SET, GET, DEL, e RPUSH para lidar com vendas flash.
Para obter detalhes sobre bloqueio, consulte Implementing Bloqueios Distribuídos com Redis nas Melhores Práticas.
- Live video commenting
Na transmissão ao vivo, os dados de usuários online, classificação de presentes e comentários de marcadores podem ser armazenados como conjuntos classificados no Redis.
Por exemplo, comentários de marcadores podem ser devolvidos utilizando o comando ZREVRANGEBYSCORE. Os comandos ZPOPMAX e ZPOPMIN no Redis 5.0 podem facilitar ainda mais o processamento de mensagens.
- Game leaderboard
Nos jogos online, os jogadores mais bem classificados são exibidos e atualizados em tempo real. O ranking da tabela de classificação pode ser armazenado como conjuntos classificados, que são fáceis de usar com até 20 comandos.
Para obter detalhes, consulte Ranking com Redis em práticas recomendadas.
- Social networking comments
Em aplicações web, consultas de comentários post geralmente envolvem classificação por tempo em ordem decrescente. À medida que os comentários se acumulam, a classificação se torna menos eficiente.
Usando listas no Redis, um número predefinido de comentários pode ser retornado do cache, em vez de do disco, facilitando a carga do banco de dados e acelerando as respostas do aplicativo.
Cenários da Aplicação Memcached
O memcached é adequado para armazenar dados simples de chave-valor.
- Páginas da Web
O armazenamento em cache de dados estáticos, como páginas HTML, Cascading Style Sheets (CSS) e imagens em instâncias do DCS Memcached, melhora o desempenho de acesso de páginas da Web.
- Banco de dados frontend
Em sistemas dinâmicos, como redes sociais e sites de blogs, as operações de escrita são muito menores do que as operações de leitura, como consultar usuários, amigos e artigos. Para facilitar a carga do banco de dados e melhorar o desempenho, os seguintes dados podem ser armazenados em cache no Memcached:
- Dados acessados com frequência que não exigem atualizações em tempo real e podem expirar automaticamente
Exemplo: listas de artigos mais recentes e rankings. Embora os dados sejam gerados constantemente, seu impacto na experiência do usuário é limitado. Tais dados podem ser armazenados em cache por um período de tempo pré-definido e acessados a partir do banco de dados após esse período. Se os editores de páginas da Web desejarem visualizar a classificação mais recente, uma política de limpeza ou atualização de cache poderá ser configurada.
- Dados acessados com frequência que exigem atualizações em tempo real
Exemplo: listas de amigos, listas de artigos e registros de leitura. Esses dados podem ser armazenados em cache no Memcached primeiro e, em seguida, atualizados sempre que ocorrerem alterações (adicionando, modificando e excluindo dados).
- Dados acessados com frequência que não exigem atualizações em tempo real e podem expirar automaticamente
- Oferta relâmpago
É difícil para os bancos de dados tradicionais gravar uma operação de colocação de pedidos durante as vendas flash no banco de dados, modificar os dados de inventário e garantir a consistência da transação, garantindo uma experiência ininterrupta do usuário.
Os comandos memcached incr e decr podem ser usados para armazenar informações de inventário e completar a colocação de pedidos na memória. Uma vez que um pedido é enviado, um número de pedido é gerado. Em seguida, o pedido pode ser pago.
Cenários em que o Memcached não é adequado:
- O tamanho de um único objeto de cache é maior que 1 MB.
O memcached não pode armazenar em cache um objeto maior que 1 MB. Nesses casos, use o Redis.
- A chave contém mais de 250 caracteres.
Para usar o Memcached em tal cenário, você pode gerar um hash MD5 para a chave e armazenar em cache o hash em vez disso.
- É necessária uma alta confiabilidade de dados.
O Memcached de código aberto não fornece replicação, backup e migração de dados, portanto, a persistência de dados não é suportada.
As instâncias do Memcached DCS principal/em espera oferecem suporte à persistência de dados. Para obter mais informações, entre em contato com o suporte técnico.
- Estruturas complexas de dados e processamento são necessários.
O Memcached suporta apenas pares de chave-valor simples e não suporta estruturas de dados complexas, como listas e conjuntos, ou operações complexas, como classificação.