Lojas online
Páginas de produtos, preços e níveis de estoque são lidos milhares de vezes por segundo e renovados por tag quando o catálogo muda.
Mantenha os seus dados mais acessados na memória e responda leituras bem abaixo de um milissegundo, em um motor que coloca cada núcleo para trabalhar.
Um acerto volta direto da memória. O banco de dados não é acessado.
Uma demonstração animada com comandos reais do HotKV e respostas de exemplo. Clique em qualquer etapa para ir direto a ela. Os comandos e as respostas ficam em inglês, exatamente como você os digita e vê no HotKV.
Bancos de dados são lentos e caros de consultar para dados lidos milhares de vezes por segundo. Cada visualização de página, chamada de API ou atualização de dashboard repete a mesma consulta, e o banco de dados vira o gargalo muito antes da sua aplicação.
O HotKV fica na frente do banco de dados e guarda os resultados na memória. A sua aplicação lê primeiro do HotKV e só recorre ao banco de dados em um miss. Como o HotKV executa comandos em muitas threads ao mesmo tempo, um cache movimentado não afunila todos os clientes em um único núcleo, e as tags permitem invalidar um grupo inteiro de entradas quando os dados de origem mudam.
Um acerto volta direto da memória. O banco de dados não é acessado.
GET product:1001Em um miss, a aplicação lê o banco de dados uma vez e coloca o resultado em cache por cinco minutos.
SET product:2002 "{\"name\":\"Oak desk\",\"price\":420}" EX 300Cada página em cache que mostra produtos de iluminação recebe a mesma tag.
TAG.SET product:1001 catalog:lightingOs preços mudaram. Liste todas as chaves com a tag e apague-as em um pipeline.
TAG.MEMBERS catalog:lightingUm token relâmpago, já definido, que precisa sumir depois de 250 ms, com precisão de nanossegundos.
NEXPIRE flash:token:9 250000000Páginas de produtos, preços e níveis de estoque são lidos milhares de vezes por segundo e renovados por tag quando o catálogo muda.
As respostas dos endpoints populares ficam em cache com TTLs curtos, então os picos de tráfego atingem a memória em vez do banco de dados.
Fragmentos renderizados e metadados de artigos ficam em cache por minutos e são invalidados por tag quando um editor publica.
EXPIRE e PEXPIRE funcionam como você espera. NEXPIRE acrescenta precisão de nanossegundos.
EXPIREPEXPIRENEXPIRERotule as chaves com TAG.SET e depois encontre todas as chaves com um rótulo.
TAG.SETTAG.MEMBERSPayloads grandes podem ser comprimidos para que uma parte maior do seu conjunto de trabalho caiba na memória.
Os comandos são executados em threads paralelas, então a vazão cresce com os núcleos. Os números estão na página Desempenho.
GETMGETO HotKV fala o protocolo Redis (RESP2 e RESP3), então os clientes Redis padrão se conectam a ele. Confira a referência de comandos para os comandos de que você depende.
Marque as chaves com TAG.SET ao colocá-las em cache, depois chame TAG.MEMBERS e apague o que voltar.
É a vazão de GET com pipelining do benchmark publicado do HotKV. O método e o hardware estão na página Desempenho.
O HotKV fala o protocolo Redis, então você pode apontar um cliente existente para ele e executar estes mesmos comandos.