Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL vs Redis用于存储跟随者/跟随者用户_Mysql_Redis_Scalability_Social Networking_Event Driven - Fatal编程技术网

MySQL vs Redis用于存储跟随者/跟随者用户

MySQL vs Redis用于存储跟随者/跟随者用户,mysql,redis,scalability,social-networking,event-driven,Mysql,Redis,Scalability,Social Networking,Event Driven,我正试图找到存储关注者/以下用户数据的最佳候选者, 起初我想把它存储在Redis中的一组用户->一组用户ID中,但后来我想到了一个用户拥有超过100万甚至1000万追随者的场景,Redis将如何处理如此庞大的一组?此外,我无法在redis中对一个集合进行分页,我必须检索整个集合,如果用户想要浏览跟随他的人,这将无法工作。 如果我将其存储在MySQL中,我肯定可以进行分页,但每当我必须构建用户提要时,从数据库中获取1000万条记录可能需要很长时间,我可以用旧的批处理方式来做这件事,但是当一个拥有很

我正试图找到存储关注者/以下用户数据的最佳候选者, 起初我想把它存储在Redis中的一组用户->一组用户ID中,但后来我想到了一个用户拥有超过100万甚至1000万追随者的场景,Redis将如何处理如此庞大的一组?此外,我无法在redis中对一个集合进行分页,我必须检索整个集合,如果用户想要浏览跟随他的人,这将无法工作。 如果我将其存储在MySQL中,我肯定可以进行分页,但每当我必须构建用户提要时,从数据库中获取1000万条记录可能需要很长时间,我可以用旧的批处理方式来做这件事,但是当一个拥有很多追随者的用户发布一些东西,然后处理这1000万条记录,仅仅为了获取他的追随者就要花很长时间的时候,这听起来还是很痛苦的。
是否值得将其存储在MySQL中用于分页(主要是前端),并存储在Redis中用于构建活动提要的事件驱动消息传递

是否使用redis或mysql执行此任务是个人的决定。对于这1000万条记录,两者都没有问题

MySQL有LIMIT x,y命令,用于从数据库中获取追随者的子集

对于redis,您可以使用排序集,并使用跟随者的用户ID或用户开始跟随的时间作为排序集的分数。和MySQL一样,redis支持获取大型排序集的子集