Passer au contenu principal
Ce moteur permet d’intégrer ClickHouse à Redis. Comme Redis repose sur un modèle clé-valeur, nous vous recommandons vivement de ne l’interroger que de façon ciblée, par exemple avec where k=xx ou where k in (xx, xx).

Création d’une table

Paramètres du moteur
  • host:port — adresse du serveur Redis ; vous pouvez omettre le port, et le port Redis par défaut 6379 sera utilisé.
  • 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_key_name - n’importe quel nom de colonne dans la liste des colonnes.
SérialisationPRIMARY KEY ne prend en charge qu’une seule colonne. La clé primaire sera sérialisée au format binaire comme clé Redis. Les colonnes autres que la clé primaire seront sérialisées au format binaire comme valeur Redis, dans l’ordre correspondant.
Les arguments peuvent également être transmis à l’aide de collections nommées. Dans ce cas, host et port doivent être spécifiés séparément. Cette approche est recommandée pour l’environnement de production. À l’heure actuelle, tous les paramètres transmis à Redis via des collections nommées sont obligatoires.
FiltrageLes requêtes avec un filtrage key equals ou in seront optimisées en recherches de plusieurs clés dans Redis. Si les requêtes n’incluent pas de clé de filtrage, un balayage complet de la table sera effectué, ce qui constitue une opération coûteuse.

Exemple d’utilisation

Créez une table dans ClickHouse en utilisant le moteur Redis avec des arguments simples :
Query
Ou à l’aide des collections nommées :
Query
Insertion :
Query
Query
Response
Query
Response
Query
Response
Mise à jour : Notez qu’il n’est pas possible de mettre à jour la clé primaire.
Query
Supprimer :
Query
TRUNCATE : Vide la base de données Redis de manière asynchrone. Le mode SYNC est également pris en charge par Truncate.
Query
Jointure : Jointure avec d’autres tables.
Query

Limites

Le moteur Redis prend également en charge les requêtes de balayage, telles que where k > xx, mais il présente certaines limites :
  1. Une requête de balayage peut, dans de très rares cas, produire des clés en double lors du rehashing. Voir les détails dans Redis Scan.
  2. Pendant le balayage, des clés peuvent être créées et supprimées. L’ensemble de données obtenu ne peut donc pas correspondre à un instantané cohérent à un moment donné.
Dernière modification le 2 juillet 2026