Re: [请益] 关于随机文章问题

楼主: GALINE (天真可爱CQD)   2015-08-05 19:53:13
※ 引述《gname ((′口‵)↗︴<><...<><)》之铭言:
: : 但又担心被cookie档案被解开有安全信的顾虑,
其实我觉得 cookie 没啥不好,至少这不算什么机敏资料...吧?
除了绑电脑跟 cookie 有大小限制以外没想到什么问题
嗯..好吧,每次都跟 request 一起传回 server 感觉很冗,量大时看起来讨厌
然后电脑换手机就会破功
: 突然想到一个很 low 的方法...XD
: 我会在加一个字段:read
: 内容是把读过的文章ID记起来, 例如: 11,22,33 这样
: 然后捞DB时就用 not in 去捞......XD
: 至于"无限扩充"我个人觉得不用想那么远,想像一下文章应该会有时效性,
: 总不可能我进站你捞一个10年前的文章给我看吧?
“一个字段”去存,那就是逗点分隔。这样没办法用 in 来处理
MySQL 的话大概会用 find_in_set() 之类的鬼东西来下
或是整串读出来用 PHP 逻辑判断
缺点?
- Code 不好看
- 资料不好看
- 看过一百篇文章就是一百个逗点分隔数字,听起来就很讨厌
- 字段长度有上限,没办法无限扩充
- 会被有强迫症的人(例如我)抱怨资料没有正规化
符合正规化而且不会爆字段的做法是开一个 article_read table
id user_id article_id create_time
作者: tas72732002 (葱头)   2015-08-05 20:36:00
效能是最大的隐忧
楼主: GALINE (天真可爱CQD)   2015-08-05 20:38:00
效能要测过,固定读三千笔资料会不会“太慢”要看情况而定当然情感上不喜欢,但是这会动 XD不过确定会越跑越慢的东西就必须避免,所以不能每次都扫整个 table, table 会变大...读最近一千笔太多的话,那至少也可以读进一百笔..是说文章变动频率不高,可以写 memcache 纪录最近n笔id...
作者: gname ((′口‵)↗︴<><...<><)   2015-08-06 00:28:00
推~重点是要解决数量膨涨与范围内的抓取资料,而不是任由膨涨再来解决效能问题

Links booklink

Contact Us: admin [ a t ] ucptt.com