1
bobuick 2016-01-16 20:50:31 +08:00
用 redis 好了, list , smember, set 什么的都满足了
|
2
COLDE OP @bobuick 好的谢谢,不过 redis 是保存到内存中,万一服务器挂了,不是什么数据都没有了吗?我不太清楚 redis 的数据持久化怎么处理
|
3
hayao650 2016-01-16 21:35:13 +08:00 via Android
redis 也可以做持久化
|
4
penjianfeng 2016-01-16 21:44:37 +08:00
数据库设计用最简单的 key-value 对应,可以建一个 upvote 表,帖子 id+用户 id,这样可以最快速的查看帖子的点赞人数和某用户点赞过的帖子,也可以根据需要建一个帖子点赞数的表,帖子 id+点赞数量.同时建议把这两张表扔 redis,memcache 这类缓存,减小数据库压力.如果是用 go 这类静态性语言,也可以存数据库后扔内存一份,反正 key-value 的也花不了多少内存
|
5
heaton_nobu 2016-01-16 21:57:26 +08:00
用户少的时候不需要考虑并发,用户多的时候“赞”的功能其实不是核心功能,是允许数量出现偏差的,页面上只要+ 1 就好,然后请求传到后端慢慢解决
|
6
COLDE OP 谢谢大家,打算用 redis 的 list,用帖子的 ID 做 key,存储对应的点赞用户 ID 的列表
|