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

> Cette fonction de table permet d’intégrer ClickHouse à Redis.

# redis

Cette fonction de table permet d’intégrer ClickHouse à [Redis](https://redis.io/).

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

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

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

| Argument    | Description                                                                                                                                        |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `host:port` | Adresse du serveur Redis ; si vous omettez le port, le port Redis par défaut 6379 sera utilisé.                                                    |
| `key`       | N’importe quel nom de colonne figurant dans la liste des colonnes.                                                                                 |
| `structure` | Le schéma de la table ClickHouse renvoyée par cette fonction.                                                                                      |
| `db_index`  | Index de la base de données Redis compris entre 0 et 15 ; la valeur par défaut est 0.                                                              |
| `password`  | Mot de passe de l’utilisateur ; la valeur par défaut est une chaîne vide.                                                                          |
| `pool_size` | Taille maximale du pool de connexions Redis ; la valeur par défaut est 16.                                                                         |
| `primary`   | Doit être spécifié ; une seule colonne dans la clé primaire est prise en charge. La clé primaire sera sérialisée en binaire en tant que clé Redis. |

* les colonnes autres que la clé primaire seront sérialisées en binaire en tant que valeur Redis, dans l’ordre correspondant.
* les requêtes avec un filtrage sur la clé via equals ou in seront optimisées en recherches multiclés dans Redis. Si les requêtes ne comportent pas de filtrage sur la clé, un balayage complet de la table sera effectué, ce qui constitue une opération coûteuse.

Les [collections nommées](/fr/concepts/features/configuration/server-config/named-collections) ne sont actuellement pas prises en charge pour la fonction de table `redis`.

<div id="returned_value">
  ## Valeur renvoyée
</div>

Un objet de type table, où la clé correspond à la clé Redis et les autres colonnes sont regroupées dans la valeur Redis.

<div id="usage-example">
  ## Exemple d'utilisation
</div>

Lire à partir de Redis :

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

Insertion dans 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">
  ## Voir aussi
</div>

* [Le moteur de table `Redis`](/fr/reference/engines/table-engines/integrations/redis)
* [Utiliser Redis comme source de dictionnaire](/fr/reference/statements/create/dictionary/sources/redis)
