2013-08-29 4 views
0

Je dois créer une application avec Redis et phpredis qui stockent les journaux et afficher les journaux.Redis modélisation et interrogation

Je dois trier et interroger avant d'afficher ce journal.

modèle Log:

id -> 12 
group -> sql 
level -> error 
message -> query return an error 
timestamp -> 123423343 
url -> htpp://... 

de requête Exemple:

-> Show me logs with group = sql and level = error 
-> Show me all logs 
-> Show me logs with group = sql and timestamp < 1342163216 && >1585876877 

Ensuite, le résultat doivent être commandés par id (ASC).

Alors je veux savoir si c'est possible? Et quel modèle choisir?

J'ai essayé la chaîne, le hachage, l'ensemble, la liste mais je ne peux pas faire tout ce que je veux.

Répondre

0

Redis est bon pour le système de cache. Donc, vous ne pouvez pas interroger redis comme ça. Mais vous pouvez construire l'index inversé en utilisant Sets ou SortedSet sur Redis.

Le nom et la valeur du champ (group.sql, level.error, level.info) peuvent être des clés (term) et log id peut être une valeur (posting) dans l'index inversé.

En utilisant cet index, vous pouvez obtenir le résultat de la requête du premier cas dans l'exemple. Mais il ne peut pas couvrir toutes les requêtes ad hoc comme SQL