2010-10-14 3 views
0

J'essaie de faire quelques trucs avec un jeu de données de graphes (nœuds/arêtes). Dans ce cas, un ensemble de données où la personne x suit la personne y (relation directe). Je veux charger ces données (à partir d'une table mysql) dans redis (l'avoir en cours d'exécution). J'ai choisi d'utiliser Rediska parce que j'utilise PHP et il semble stable. Rediska a une documentation et des exemples très limités, alors j'espérais que vous puissiez m'aider. J'ai peu ou pas d'expérience avec noSQL, en particulier les conventions de nommage (userid: 1: follows = 2?).Redis et PHP (Rediska) se croisent sur l'ensemble

Mes questions:

  • Comment charger un ensemble de personne x suit les données personne de y en données Redis définies
  • comment puis-je trouver le « recoupement » entre (SINTER) et finissent avec un php array (donc je reçois la personne X et la personne Y suivent (un ensemble de résultats) de personnes))
  • et last but not leasy, comment je 'traverserais' les données de ce graphique pour trouver une relation: personne x -> personne y -> personne z (la personne x et la personne z suivent la personne y, donc la personne z est dans le jeu de résultats)
+0

Tout comme aparté: rediska n'est pas la méthode recommandée pour connecter de php à Redis comme vous pouvez le voir ici: http://redis.io/clients de son mieux pour utiliser soit PHPRedis (une extension C) ou Predis (écrit en PHP pur). – Max

Répondre

1

Q1 Comment charger un ensemble de personne x suit les données de personne y dans un ensemble de données redis?
vous devez utiliser un ensemble comme structure de données et y ajouter les index des personnes suivantes. Par exemple, supposons que vous avez 10 utilisateurs avec ids de 1 à 10 et que vous voulez dire que personne: 3, personne: 5 et par personne: 10 sont toutes personne suivante: 2 ...

 
sadd person:2:followers 3 
sadd person:2:followers 5 
sadd person:2:followers 10 

Cela donnerait vous un ensemble d'adeptes pour 2 personnes contenant les ids 3, 5 et 10. pour interroger ces données ...

 
smembers person:2:followers 

Q2 Comment puis-je trouver l'intersection et se retrouver avec un tableau de php (personne: x : suiveurs & & personne: y: suiveurs)?

 
sinterstore tmp person:2:followers person:8:followers 
sort tmp get person:*->name get person:*->age 

Q3 comment voulez-vous parcourir ces données de graphique pour trouver une relation: personne x -> personne y -> personne z (personne x et par personne z les deux suivent personne y, donc personne z est dans le jeu de résultats?

 
This question does not make sense (to me at least). Could you explain or reword it? 
Questions connexes