1
towser 2014-05-20 15:45:19 +08:00
1、只需要谁登录后就获取谁的最新动态,调用人人的API即可,不需要实时获取所有用户的动态;
2/3/4、数据库设计问题,用好索引,10000名用户还不足以形成性能瓶颈。 |
2
yhf OP @towser 谢谢!
1. 我想要获得100个好友的各自的好友,就需要向人人请求调用API100次,这样是不是有点慢?不知道能否把好友圈的用户存在自己数据库?如果存储在自己数据库,好友圈的改动怎么判断? 2/3/4. 为了前20的帖子而排序10000条帖子是否值得。。。我在想能不能把上一次刷新已经获得的帖子存在客户端。。。 |
3
ShiningRay 2014-05-20 15:58:20 +08:00
以前做过,后来被有关部门关停了
|
4
ShiningRay 2014-05-20 16:19:09 +08:00
你可以直接下代码 https://github.com/qiushibaike/moumentei rails写的
|
5
casparchen 2014-05-20 16:21:15 +08:00
graph database
你的效率问题便迎刃而解了 |
6
yhf OP @ShiningRay 谢谢 我看看
|
7
yhf OP @casparchen 谢谢 我去学习一下
|
8
wangtao 2014-05-20 16:43:05 +08:00
|
9
codingpp 2014-05-20 16:44:30 +08:00
每次访问调用API100次,这个是不可取的,应该写个作业把好友信息同步下来
使用传统关系型数据库存储这个人和人之间的关系不适合,可以尝试图数据库 这样你就会根据某个UID很快获得和这个UID相关的UID 获得这些UID以后,就是获得按时间排序的帖子的问题。如果不想拿到数据以后再排序,那么所用到的索引必须是排好序的。 转换成sql语句就是select xx from tiezi where uid in (uid1, uid2, uid3) order by time desc limit 20 不过这样的话也会有问题,随着用户量增大,这个sql就越来越慢了。。。暂时没有想到好方法 |
10
paloalto 2014-05-20 16:47:49 +08:00
|
11
yhf OP @codingpp 把信息同步下来可是过一天用户又添加了几个好友怎么办?不请求调用api怎么知道好友信息有没有改变?
额,我只有SAE,穷学生一个买不起VPS,所以用非关系型数据库部署的时候可能比较麻烦。哎,真蛋疼。。。 |
12
ShiningRay 2014-05-20 16:52:35 +08:00
@wangtao 浓浓的山寨气息扑面而来
|
13
ericls 2014-05-20 17:00:20 +08:00
是什么?
糗事百科的精简版本? |
14
codingpp 2014-05-20 17:06:42 +08:00
@yhf
写一个作业定时访问api接口,然后更新本地数据库 只用关系型数据库那就这样吧。。 uid Friend_ids select friend_ids from table where uid = xx for friend_id in friend_ids: select friend_ids from table where uid = friend_id 如果想快的话,把关系放在内存中,数据库有更新时触发更新内存中的关系 |
17
RIcter 2014-05-20 17:14:16 +08:00
@ShiningRay 记得你们原来做过秘密...我记得秘密是你们先做的啊=A=
|