Valkey: Exemple : Utiliser la recherche Valkey en Python
Cette documentation fait partie du guide Recherche et JSON. Consultez le guide complet ici : Stockez et interrogez des documents JSON avec le module de recherche Valkey.
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution Valkey cloud prête à l'emploi qui offre de nombreux avantages, notamment :
- Interface web Valkey Admin incluse.
- Taille des messages et transferts illimités.
- Mises à jour simplifiées en un clic.
- Performance optimale et sécurité renforcée grâce à une infrastructure privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Valkey cloud hosting de Stackhero !
Vous pouvez utiliser le client redis-py pour exploiter les fonctionnalités de recherche de Valkey :
import os
import redis
from redis.commands.search.field import TextField, TagField, NumericField
from redis.commands.search.index_definition import IndexDefinition, IndexType
from redis.commands.search.query import Query
r = redis.from_url(os.environ['STACKHERO_VALKEY_URL_TLS'], decode_responses=True)
# Créez l'index une seule fois au démarrage
try:
r.ft('productsIndex').create_index(
(TextField('name'), TagField('brand'), NumericField('price')),
definition=IndexDefinition(prefix=['product:'], index_type=IndexType.HASH),
)
except redis.ResponseError as error:
if 'Index already exists' not in str(error):
raise
r.hset('product:1', mapping={'name': 'Espresso machine', 'brand': 'Bianca', 'price': 459})
results = r.ft('productsIndex').search(Query('@brand:{Bianca} @price:[0 500]'))
print(results.total, results.docs)