Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Computação
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gerenciamento e governança
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migração
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análises
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Outros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Segurança e conformidade
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Serviços de mídia
Media Processing Center
Video On Demand
Live
SparkRTC
Armazenamento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Cloud Server Backup Service
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bancos de dados
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicações de negócios
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribuição de conteúdo e computação de borda
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluções
SAP Cloud
High Performance Computing
Serviços para desenvolvedore
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
MacroVerse aPaaS
KooPhone
KooDrive

Novos recursos do DCS for Redis 4.0

Atualizado em 2023-12-20 GMT+08:00

Em comparação com o DCS for Redis 3.0, o DCS for Redis 4.0 e versões posteriores adicionam suporte aos novos recursos do Redis de código aberto e suportam a criação mais rápida de instâncias.

A implementação da instância mudou do modo de VM para o modo de conteinerização baseado em servidor físico. Uma instância pode ser criada dentro de 8 a 10 segundos.

O Redis 4.0 oferece os seguintes novos recursos:

  1. Novos comandos, como MEMORY e SWAPDB
  2. Lazyfree, atrasando a exclusão de chaves grandes e reduzindo o impacto da exclusão nos recursos do sistema
  3. Otimização do desempenho da memória, ou seja, desfragmentação ativa

Comando MEMORY

No Redis 3.0 e versões anteriores, você pode executar o comando INFO MEMORY para aprender apenas as estatísticas de memória limitada. O Redis 4.0 introduz o comando MEMORY para ajudá-lo a entender melhor o uso da memória do Redis.

127.0.0.1:6379[8]> memory help
1) MEMORY <subcommand> arg arg ... arg. Subcommands are:
2) DOCTOR - Return memory problems reports.
3) MALLOC-STATS -- Return internal statistics report from the memory allocator.
4) PURGE -- Attempt to purge dirty pages for reclamation by the allocator.
5) STATS -- Return information about the memory usage of the server.
6) USAGE <key> [SAMPLES <count>] -- Return memory in bytes used by <key> and its value. Nested values are sampled up to <count
> times (default: 5).
127.0.0.1:6379[8]>

usage

Digite memory usage [key]. Se a chave existir, a memória estimada usada pelo valor da chave é retornada. Se a chave não existir, nil é retornado.

127.0.0.1:6379[8]> set dcs "DCS is an online, distributed, in-memory cache service compatible with Redis, and Memcached."
OK
127.0.0.1:6379[8]> memory usage dcs
(integer) 141
127.0.0.1:6379[8]> 
  1. O usage coleta estatísticas sobre o uso de memória do valor e da chave, excluindo o uso de memória Expire da chave.
    // The following is verified based on Redis 5.0.2. Results may differ in other Redis versions.
    192.168.0.66:6379> set a "Hello, world!"
    OK
    192.168.0.66:6379> memory usage a
    (integer) 58
    192.168.0.66:6379> set abc "Hello, world!"
    OK
    192.168.0.66:6379> memory usage abc
    (integer) 60   //After the key name length changes, the memory usage also changes. This indicates that the usage statistics contain the usage of the key.
    192.168.0.66:6379> expire abc 1000000
    (integer) 1
    192.168.0.66:6379> memory usage abc
    (integer) 60   // After the expiration time is added, the memory usage remains unchanged. This indicates that the usage statistics do not contain the expire memory usage.
    192.168.0.66:6379> 
  2. Para hashes, lists, sets e sorted sets, o comando MEMORY USAGE mostra estatísticas e fornece o uso estimado da memória.

    Uso: memory usage keyset samples 1000

    keyset indica a chave de um conjunto, e 1000 indica o número de amostras.

stats

Retorna o uso detalhado de memória da instância atual.

Uso: memory stats

127.0.0.1:6379[8]> memory stats
 1) "peak.allocated"
 2) (integer) 2412408
 3) "total.allocated"
 4) (integer) 2084720
 5) "startup.allocated"
 6) (integer) 824928
 7) "replication.backlog"
 ... ...

A tabela a seguir descreve os significados de alguns itens de retorno.

Tabela 1 Valores de retorno de MEMORY STATS

Valor retornado

Descrição

peak.allocated

Memória de pico alocada pelo alocador durante a execução da instância do Redis. É o mesmo que used_memory_peak da info memory.

total.allocated

O número de bytes alocados pelo alocador. É o mesmo que used_memory of info memory

startup.allocated

Quantidade inicial de memória consumida pelo Redis na inicialização em bytes

replication.backlog

Tamanho em bytes da lista de pendências de replicação. É especificado no parâmetro repl-backlog-size. O valor padrão é 1 MB.

clients.slaves

O tamanho total em bytes de todas as réplicas de custos indiretos

clients.normal

O tamanho total em bytes de todos os clientes de custos indiretos

overhead.total

A soma de todos os custos indiretos. overhead.total é o total de memória total.allocated alocado pelo alocador menos a memória real usada para armazenar dados.

keys.count

O número total de chaves armazenadas em todos os bancos de dados no servidor

keys.bytes-per-key

Número médio de bytes ocupados por cada chave. Observe que o custo indireto também é alocado para cada chave. Portanto, esse valor não indica o comprimento médio da chave.

dataset.bytes

Bytes de memória ocupados por dados do Redis, ou seja, overhead.total subtraído de total.allocated

dataset.percentage

A porcentagem de dataset.bytes fora do uso de memória líquida

peak.percentage

A porcentagem de pico.alocado fora do total.allocated

fragmentation

Taxa de fragmentação de memória

doctor

Uso: memory doctor

Se o valor de used_memory (total.allocated) for menor que 5 MB, MEMORY DOCTOR considera que o uso de memória é muito pequeno e não realiza diagnósticos adicionais. Se qualquer uma das seguintes condições for atendida, o Redis fornecerá resultados de diagnóstico e sugestões:
  1. O pico de memória alocada é maior que 1,5 vezes do total_allocated atual, ou seja, peak.allocated/total.allocated > 1,5, indicando que a taxa de fragmentação da memória é alta e que o RSS é muito maior que used_memory.
  2. O valor de alta fragmentação/fragmentação é maior que 1,4, indicando que a taxa de fragmentação da memória é alta.
  3. O uso médio de memória de cada cliente normal é superior a 200 KB, indicando que o pipeline pode ser usado incorretamente ou que o cliente Pub/Sub não processa mensagens a tempo.
  4. O uso médio de memória de cada cliente secundário é maior que 10 MB, indicando que o tráfego de gravação do principal é muito alto.

purge

Uso: memory purge

Executa o comando interno jemalloc para liberar a memória. Os objetos liberados incluem a memória que é ocupada, mas não usada pelos processos do Redis, ou seja, fragmentos de memória.

MEMORY PURGE aplica-se somente à instância do Redis que usa jemalloc como alocador.

Lazyfree

Problema

O Redis é de thread único. Quando uma solicitação demorada é executada, todas as solicitações são colocadas na fila. Antes que a solicitação seja concluída, o Redis não pode responder a outras solicitações. Como resultado, podem ocorrer problemas de desempenho. Uma das solicitações demoradas é a exclusão de uma chave grande.

Princípio

O recurso Lazyfree do Redis 4.0 evita o bloqueio causado pela exclusão de chaves grandes, garantindo desempenho e disponibilidade.

Ao excluir uma chave, o Redis libera de forma assíncrona a memória ocupada pela chave. A operação de liberação da chave é processada no subthread de I/O de segundo plano (BIO).

Utilização

  1. Exclusão ativa
    • UNLINK

      Semelhante ao DEL, este comando remove chaves. Se houver mais de 64 elementos a serem excluídos, a operação de liberação de memória é executada em um thread de BIO independente. Portanto, o comando UNLINK pode excluir uma chave grande contendo milhões de elementos em um curto espaço de tempo.

    • FLUSHALL e FLUSHDB

      Uma opção ASYNC foi adicionada ao FLUSHALL e ao FLUSHDB para permitir que todo o conjunto de dados ou um único banco de dados fosse liberado de forma assíncrona.

  2. Exclusão passiva: exclusão de chaves expiradas e remoção de chaves grandes

    Há quatro cenários para exclusão passiva e cada cenário corresponde a um parâmetro. Esses parâmetros são desativados por padrão.

    lazyfree-lazy-eviction no // Whether to enable Lazyfree when the Redis memory usage reaches maxmemory and the eviction policy is set.
    lazyfree-lazy-expire no // Whether to enable Lazyfree when the key with TTL is going to expire.
    lazyfree-lazy-server-del no // An implicit DEL key is used when an existing key is processed.
    slave-lazy-flush no // Perform full data synchronization for the standby node. Before loading the RDB file of the master, the standby node executes the FLUSHALL command to clear its own data.

Outros novos comandos

  1. swapdb

    Troca dois bancos de dados de Redis.

    swapdb dbindex1 dbindex2

  2. zlexcount

    Retorna o número de elementos no conjunto classificado.

    zlexcount key min max

Otimização de memória e desempenho

  1. Em comparação com antes, a mesma quantidade de dados pode ser armazenada com menos memória.
  2. A memória usada pode ser desfragmentada e gradualmente removida.

Usamos cookies para aprimorar nosso site e sua experiência. Ao continuar a navegar em nosso site, você aceita nossa política de cookies. Saiba mais

Feedback

Feedback

Feedback

0/500

Conteúdo selecionado

Envie o conteúdo selecionado com o feedback