MySQL存储访问量,关注数等更新比较频繁的数据的时候,如何减轻数据库负担?
目前我的想法是把访问量,关注数等先存到ssdb中(使用ssdb的incr操作),当访问数量%100 == 0 的时候,再将数据存储到数据库中。
大家有什么经验可以共享吗?
--------------更新----------
存储方面大致知道怎么做了,问题是因为有很多数据都缓存在ssdb中(比如关注数,访问量,粉丝数等等大概十个字段),如果想要获取某个用户的最新数据的时候,得从ssdb中读取多次(有些时候会在5-7次),这样的话读性能会不会下降的很厉害?
---------------更新----------
ssdb的API不够熟练。使用ssdb的zset来存储每个用户的信息,即可一次获取到一个用户的所有信息
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
"优化" 约等于 "加cache", 所以你做的是对的. 至于什么时候将数据从cache写到数据库, 这个倒是可以再权衡.
说个之前我们的解决方案把。
我们使用的memecache,所以比如点赞,会根据你点赞的id,生成一个缓存,只有点赞数超过一个阀值了,才会写到数据库。
访问量、关注数、浏览数,点赞数这些数据 redis更适合。100K以内数据缓存Redis性能高于memcached
1.cache
2.MySQL读写分离