documentation.suse.com / Introdução ao Valkey
SUSE Linux Enterprise Server 16.0

Introdução ao Valkey

Data de Publicação: 04/11/2025
O QUE É?

Valkey é um armazenamento de estrutura de dados na memória de código aberto que se destaca como banco de dados, cache, controlador de mensagens e mecanismo de streaming. O Valkey oferece armazenamento de dados na memória de alto desempenho, escalável e versátil, crucial para acelerar aplicativos e gerenciar com eficácia diversas necessidades de dados com multithreading e confiabilidade aprimorados.

POR QUÊ?

Saiba como instalar e configurar o Valkey.

DEDICAÇÃO

Tempo de leitura de 40 minutos.

META

Configurar o Valkey no SUSE Linux Enterprise Server ou migrar do Redis para o Valkey.

1 Sobre o Valkey

O Valkey é uma bifurcação do Redis versão 7.2.4. Trata-se de armazenamento de estrutura de dados na memória de código aberto, licenciado sob a licença BSD (Berkeley Software Distribution), que funciona como uma plataforma versátil para vários aplicativos. Ele se destaca como banco de dados, oferecendo armazenamento de dados rápido e flexível; como cache, melhorando significativamente o desempenho dos aplicativos; como controlador de mensagens, permitindo uma comunicação assíncrona; e até mesmo como mecanismo de streaming para processamento de dados em tempo real. O Valkey tem como base o Redis OSS, incorporando multithreading para melhorar o desempenho e oferecendo uma solução robusta para aplicativos que exigem velocidade, escalabilidade e vários recursos de processamento de dados.

O Valkey tem muitos benefícios, dentre eles:

  • Acesso rápido e de baixa latência aos dados armazenados na memória, ideal para cache, análise em tempo real e controle de mensagens.

  • Suporte a estruturas de dados poderosas e versáteis, como strings, hashes, listas, conjuntos, conjuntos classificados, fluxos e índices geoespaciais.

  • Persistência de instantâneo RDB (Redis Database Backup) e AOF (Append-Only File) para recuperar dados após as reinicializações.

  • Opção de dimensionamento horizontal por meio da partição de dados em vários nós.

  • Compatibilidade com o Redis 7.2, facilitando a migração sem alterar as bibliotecas ou a lógica de aplicativos de clientes existentes.

  • Recursos de publicação/assinatura incorporados para construção de sistemas orientados por eventos ou baseados em mensagens.

Para obter mais informações sobre o Valkey, consulte https://valkey.io/docs/.

2 Gerenciando o Valkey

Saiba como instalar o Valkey, usar a ferramenta de linha de comando e migrar do Redis para o Valkey.

2.1 Configurando um arquivo de serviço do Valkey

O Valkey é um armazenamento de estrutura de dados na memória e de código aberto que funciona como banco de dados, cache, controlador de mensagens e mecanismo de streaming.

Procedimento 1: Criando um arquivo de serviço systemd do Valkey
  1. Instale o Valkey:

    > sudo  zypper -n in valkey
  2. Crie um arquivo de serviço systemd do Valkey:

    > sudo  vi /etc/systemd/system/valkey.service
  3. Adicione o seguinte ao arquivo:

    [Unit]
            Description=Valkey In-Memory Data Store
            After=network.target
    
            [Service]
            User=valkey
            Group=valkey
            ExecStart=/usr/sbin/redis-server /etc/redis/valkey.conf
            LimitNOFILE=10240
            ExecStop=/usr/bin/valkey-cli shutdown
            Restart=always
    
            [Install]
            WantedBy=multi-user.target
  4. Copie o arquivo de amostra para o arquivo de configuração especificado:

    > sudo  cp /etc/valkey/default.conf.example /etc/valkey/valkey.conf
  5. Atualize as permissões de arquivo:

    > sudo  chown valkey:valkey /etc/valkey/valkey.conf
  6. Inicie e habilite o serviço Valkey:

    > sudo  systemctl start valkey
    > sudo  systemctl enable valkey
  7. Verifique a configuração do Valkey:

    valkey-cli ping

    O Valkey está em execução no sistema quando você recebe a impressão do comando PONG.

2.2 A interface de linha de comando do Valkey

A interface de linha de comando é usada para gerenciar, depurar e testar o Valkey. Por padrão, o comando valkey-cli conecta-se ao servidor no endereço 127.0.0.1 com a porta 6379.

Algumas das opções do comando valkey-cli incluem:

-h

Nome de host do servidor com o IP padrão de 127.0.0.1.

-p

Porta de servidor com um valor padrão de 6379.

-t

Tempo de espera de conexão do servidor em segundos (decimais permitidos). O tempo de espera padrão é 0, o que significa que não há limite e depende do sistema operacional.

-s

O soquete do servidor substitui o nome de host e a porta.

-a

Senha para usar na conexão com o servidor. Você também pode usar a variável de ambiente VALKEYCLI_AUTH para passar essa senha com mais segurança. Esse argumento prevalece quando ambas as opções são usadas.

--user

Nome de usuário usado para enviar o estilo de lista de controle de acesso (ACL, Access Control List), que é AUTH username pass. Precisa da opção -a.

--pass

Senha que é um álias da opção -a para alinhamento com a nova opção --user.

--askpass

Força a entrada da senha por STDIN com mascaramento. Se esse argumento for usado, -a e a variável de ambiente VALKEYCLI_AUTH serão ignorados.

-u

URI do servidor no formato valkey://user:password@host:port/dbnum. Usuário, senha e dbnum são opcionais. Para autenticação sem nome de usuário, insira default. Para TLS, use o esquema valkeys.

--help

Mostrar a ajuda e sair.

--version

Mostrar a versão e sair.

--cluster help

Listar todos os comandos de gerenciador de cluster disponíveis.

Exemplo 1: Alguns exemplos básicos do comando valkey-cli são:
  • SET: Define um par de chave/valor.

    > valkey-cli SET KEY_NAME "Hello Valkey"

    Por exemplo:

    > valkey-cli SET TESTKEY "Hello Valkey"
  • GET: Recupera o valor associado a uma chave.

    > valkey-cli GET TESTKEY
      "Hello Valkey"
  • DEL: Exclui uma chave.

    > valkey-cli DEL TESTKEY
      (integer) 1

    1 se excluída e 0 se não encontrada.

  • INFO: Mostra informações e estatísticas sobre o servidor Valkey.

    > valkey-cli INFO
      Server
      redis_version:7.2.4
      server_name:valkey
      valkey_version:8.0.2
      redis_git_sha1:00000000
      redis_git_dirty:0
      redis_build_id:e0cc1d08b1f9571a
      server_mode:standalone
      os:Linux 6.12.0-160000.9-default x86_64
      arch_bits:64
      monotonic_clock:POSIX clock_gettime
      multiplexing_api:epoll
      gcc_version:13.3.1
      process_id:974
      process_supervised:no
      run_id:32864c141804bcb17cae98145beee86ca251afd7
      tcp_port:6379
      server_time_usec:1750760734442451
      uptime_in_seconds:2780
      uptime_in_days:0
      hz:10
      configured_hz:10
      lru_clock:5930270
      executable:/usr/sbin/redis-server
      config_file:/etc/valkey/valkey.conf
      io_threads_active:0
      availability_zone:
    
    [...]
  • MONITOR: Transmite todos os comandos processados pelo servidor Valkey em tempo real.

    > valkey-cli MONITOR
    OK
  • KEYS: Encontra todas as chaves que correspondem a um padrão.

    > valkey-cli KEYS "*" # All keys
    "TESTKEY"
    "TESTKEY1"

2.3 Migrando do Redis para o Valkey

O Valkey foi desenvolvido como um substituto direto, mantendo a compatibilidade com a Redis API, o protocolo, os dados de persistência, as portas e os arquivos de configuração. A transição do Redis para o Valkey é fácil para muitas configurações básicas. O procedimento a seguir assume que o Redis está instalado, em execução e com dados carregados.

Procedimento 2: Como migrar do Redis para o Valkey
  1. Verifique a versão atual do servidor Redis:

    > redis-cli info server
            # Server
            redis_version:7.2.4
            redis_git_sha1:00000000
            redis_git_dirty:0
            redis_build_id:8c22b097984bd350
            redis_mode:standalone
            [...]
  2. Instale o pacote valkey-compat-redis com a opção --force-resolution:

    > sudo  # zypper in --force-resolution valkey-compat-redis
            Refreshing service 'NVIDIA'.
            Refreshing service 'openSUSE'.
            Loading repository data...
            Reading installed packages...
            Resolving package dependencies...
    
            The following 2 NEW packages are going to be installed:
              valkey valkey-compat-redis
    
            The following package is going to be REMOVED:
              redis
    
            2 new packages to install, 1 to remove.
    
            Package download size:     1.3 MiB
    
            Package install size change:
                          |       5.2 MiB  required by packages that will be installed
              -245.2 KiB  |  -    5.4 MiB  released by packages that will be removed
    
            Backend:  classic_rpmtrans
            Continue? [y/n/p/...? shows all options] (y):

    O pacote move os arquivos de configuração existentes e os dados de persistência para o Valkey sem necessidade de etapas adicionais. Essa migração é possível porque o Valkey é totalmente compatível com a Redis API, o protocolo, os dados de persistência, as portas e os arquivos de configuração.

  3. Inicie e habilite o Valkey:

    > sudo  systemctl start valkey
    > sudo  systemctl enable valkey
  4. Verifique as informações do servidor:

    > redis-cli info server
                # Server
                redis_version:7.2.4
                server_name:valkey
                valkey_version:7.2.5
                redis_git_sha1:00000000
                redis_git_dirty:0
                redis_build_id:b0d9f188ef999bd3
                redis_mode:standalone
                [...]

    O Valkey responde tanto ao redis_version:7.2.4 quanto ao valkey_version:7.2.5. Manter o redis_version garante a máxima compatibilidade e ainda identifica o servidor com valkey_version. O Valkey tem um binário chamado valkey-cli, mas cria um link simbólico com redis-cli. Ambas as CLIs têm a mesma funcionalidade.