Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

O Redis 6 pode tirar proveito de CPUs multi-core?


Com base nas notas de lançamento, acho que sim. Aqui está uma pequena informação de lá:

Apesar da merecida reputação de alto desempenho do Redis, sua arquitetura de thread único tem sido controversa entre os engenheiros que se perguntavam se o Redis poderia ser ainda mais rápido. O Redis 6 toca em uma nova era:enquanto mantém uma interface de acesso a dados de thread único, a E/S agora é segmentada.

Ao delegar o tempo gasto lendo e gravando em soquetes de E/S para outros threads, o processo Redis pode dedicar mais ciclos à manipulação, armazenamento e recuperação de dados, aumentando o desempenho geral. Essa melhoria mantém as características transacionais das versões anteriores, para que você não precise repensar seus aplicativos para aproveitar o desempenho aprimorado. Da mesma forma, o comando DEL de thread único do Redis agora pode ser configurado para se comportar como o comando UNLINK multithread que está disponível desde a versão 4 do Redis.

O desempenho de uma variável local é quase sempre imbatível. Finalmente, mesmo um banco de dados de alto desempenho como o Redis será muito mais lento do que acessar algo da pilha ou heap. O Redis 6 adiciona uma nova técnica para bibliotecas de cliente sofisticadas para implementar uma camada de cache do lado do cliente para armazenar um subconjunto de dados em seu próprio processo. Essa implementação é inteligente o suficiente para gerenciar várias atualizações dos mesmos dados e manter seus dados o mais sincronizados possível, mantendo as vantagens do Redis com a velocidade das variáveis ​​locais.

Você também pode verificar/compará-lo com redis-benchmark ou memtier chicote para seu perfil de instância/carga de trabalho.