首页 > 多用户的网站,用户的投稿量和照片数量之类的如何统计?

多用户的网站,用户的投稿量和照片数量之类的如何统计?

比如用户登录到会员中心后,会有一个简单的统计系统,这个投稿量和照片数量是直接建一个表,然后每次发布文章或者上传照片的时候都update table set photo=photo+1 where uid=1
还是每次都select count(*) 一下好呢?


第一种方案的路过一下。
然后每周会有一次的数据更新。防止冗余数据的异常出现的统计错误。


select count(*), 然后缓存


用户中心访问量也不高,效率上讲哪区别不大。
我个人习惯于使用单独的统计表,不想让数据库承担逻辑上的东西,使用+1方式,单独建个表,以后增加其他它信息的统计也方便些,这么做要保证数据一致性,防止用户新增了投稿,但是统计表却更新失败,最好给数据库加个定期事务。
如果用count(*),记得把*换成主键名。

更科学的方式是在缓存层面储存计数, 例如用redis,然后定期永久化。

【热门文章】
【热门文章】