> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Esta função de tabela permite a integração do ClickHouse com o Redis.

# redis

Esta função de tabela permite a integração do ClickHouse com o [Redis](https://redis.io/).

<div id="syntax">
  ## Sintaxe
</div>

```sql theme={null}
redis(host:port, key, structure[, db_index[, password[, pool_size]]])
```

<div id="arguments">
  ## Argumentos
</div>

| Argumento   | Descrição                                                                                                                                |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `host:port` | Endereço do servidor Redis; você pode omitir a porta, e a porta padrão do Redis, 6379, será usada.                                       |
| `key`       | qualquer nome de coluna na lista de colunas.                                                                                             |
| `structure` | O esquema da tabela do ClickHouse retornada por esta função.                                                                             |
| `db_index`  | Índice do banco de dados Redis, de 0 a 15; o padrão é 0.                                                                                 |
| `password`  | Senha do usuário; o padrão é uma string vazia.                                                                                           |
| `pool_size` | Tamanho máximo do pool de conexões do Redis; o padrão é 16.                                                                              |
| `primary`   | deve ser especificado; aceita apenas uma coluna na chave primária. A chave primária será serializada em binário como uma chave do Redis. |

* colunas diferentes da chave primária serão serializadas em binário como valor do Redis, na ordem correspondente.
* consultas com filtro em que a chave é igual a um valor ou usa `in` serão otimizadas para busca de múltiplas chaves no Redis. Se as consultas forem executadas sem filtro pela chave, ocorrerá uma varredura completa da tabela, o que é uma operação pesada.

[Coleções nomeadas](/pt-BR/concepts/features/configuration/server-config/named-collections) não são compatíveis com a função de tabela `redis` no momento.

<div id="returned_value">
  ## Valor retornado
</div>

Um objeto de tabela, em que a chave é a chave do Redis e as demais colunas são agrupadas como valor do Redis.

<div id="usage-example">
  ## Exemplo de uso
</div>

Leitura do Redis:

```sql theme={null}
SELECT * FROM redis(
    'redis1:6379',
    'key',
    'key String, v1 String, v2 UInt32'
)
```

Inserir no Redis:

```sql theme={null}
INSERT INTO TABLE FUNCTION redis(
    'redis1:6379',
    'key',
    'key String, v1 String, v2 UInt32') values ('1', '1', 1);
```

<div id="related">
  ## Relacionado
</div>

* [O motor de tabela `Redis`](/pt-BR/reference/engines/table-engines/integrations/redis)
* [Usando o Redis como fonte de dicionário](/pt-BR/reference/statements/create/dictionary/sources/redis)
