我正在尝试使用图形(节点/边缘)数据集做一些技巧。在这种情况下,一组数据,其中人x跟随人y(直接关系)。我想将这些数据(从mysql表)加载到redis(让它运行)。我选择使用Rediska因为我使用PHP而且看起来很稳定。
Rediska的文档和示例非常有限,所以我希望你们可以帮助我。我对noSQL几乎没有经验,尤其是命名约定(userid:1:follow = 2?)。
我的问题:
答案 0 :(得分:1)
Q1 如何加载一组人x跟随人y数据到redis数据集?
你需要使用一个集合作为数据结构,并在那里投入以下人员的索引。例如,假设你有10个用户,其中id为1到10,你想说那个人:3,人:5和人:10都是跟随人:2 ...
sadd person:2:followers 3 sadd person:2:followers 5 sadd person:2:followers 10
这会为你提供一组包含ids 3,5和10的人2。要查询这些数据......
smembers person:2:followers
Q2 如何找到相交并最终得到一个php数组(person:x:followers&& person:y:followers)?
sinterstore tmp person:2:followers person:8:followers sort tmp get person:*->name get person:*->age
Q3 您将如何遍历此图表数据以查找关系:person x - >人y - >人z(人x和人z都跟随人y,因此人z在结果集中)?
This question does not make sense (to me at least). Could you explain or reword it?