ホームページ  >  に質問  >  本文

redis - MySQL存储访问量,关注数等更新比较频繁的数据的时候,如何减轻数据库负担?

目前我的想法是把访问量,关注数等先存到ssdb中(使用ssdb的incr操作),当访问数量%100 == 0 的时候,再将数据存储到数据库中。
大家有什么经验可以共享吗?
--------------更新----------
存储方面大致知道怎么做了,问题是因为有很多数据都缓存在ssdb中(比如关注数,访问量,粉丝数等等大概十个字段),如果想要获取某个用户的最新数据的时候,得从ssdb中读取多次(有些时候会在5-7次),这样的话读性能会不会下降的很厉害?
---------------更新----------
ssdb的API不够熟练。使用ssdb的zset来存储每个用户的信息,即可一次获取到一个用户的所有信息

迷茫迷茫2743日前703

全員に返信(4)返信します

  • PHPz

    PHPz2017-04-17 14:23:14

    "优化" 约等于 "加cache", 所以你做的是对的. 至于什么时候将数据从cache写到数据库, 这个倒是可以再权衡.

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-17 14:23:14

    说个之前我们的解决方案把。
    我们使用的memecache,所以比如点赞,会根据你点赞的id,生成一个缓存,只有点赞数超过一个阀值了,才会写到数据库。

    返事
    0
  • ringa_lee

    ringa_lee2017-04-17 14:23:14

    访问量、关注数、浏览数,点赞数这些数据 redis更适合。100K以内数据缓存Redis性能高于memcached

    返事
    0
  • 阿神

    阿神2017-04-17 14:23:14

    1.cache
    2.MySQL读写分离

    返事
    0
  • キャンセル返事