1
icevil 2014-03-18 21:27:35 +08:00
为什么每次登录的时候要一次性读取全部的学习记录?
|
2
vilic OP @icevil 主要是单词背诵的时候优先级计算稍微复杂, 不好估计说那些单词是今天或者短时间内会用到的, 所以只好全部拿出来, 先选出几个优先级对应的候选单词, 再在各个优先级中排序.
|
3
notcome 2014-03-19 06:55:58 +08:00 via iPhone
同样类型我用的是 Redis……
|
4
notcome 2014-03-19 06:57:10 +08:00 via iPhone
已经进入生产了哦我动作太慢……
|
5
EPr2hh6LADQWqRVH 2014-03-19 08:49:17 +08:00 1
反正你也是一次性都拿出来,要不就按人头每人的记录都融成一条或者几条,人多了之后做sharding
|
6
chenlong451 2014-03-19 09:18:08 +08:00
IOS下是obj-c开发的?
|
7
gkiwi 2014-03-19 09:47:59 +08:00
@vilic 我觉得可以适当做个分级沉淀,比如说这6000个词的用户,在计算一次后,根据是否需要再次取出分成4000,1000,500,300,200这样子的级别,第一次用户优先计算300,200的,然后再后台慢慢计算500和1000级别的,没晚上再统一更新下4000那组的数据,这样子可能会好些。
|
8
cdffh 2014-03-19 10:15:17 +08:00 1
早就叫你上Redis了 然后你那个winserver 的服务器是在卖萌吗..
|
9
vilic OP @notcome 其实之前拖了很久了…
@avastms 之前有试过每个用户数据存在一条里,读取是快不少,但每次更新都有重写整个大数组开销有点大。不过可能我的做法不对,一会儿搜搜去。 @chenlong451 其实是web app,套了层壳子。 @gkiwi 嗯,确实有想过这个,不过逻辑上估计稍稍困难,但未来估计必须得弄的感觉。 谢过大家的回复! |
10
chenlong451 2014-03-19 22:54:48 +08:00
颇想结识楼主。
|
11
vilic OP @chenlong451 哈哈, 话说我都没提你怎知道...
|