search

Home  >  Q&A  >  body text

如果redis中保存数据,数据库中不家必要存一份吗?

比如,用户的上下级关系,我在redis中保存了一份,还有必要在数据库中保存吗?前提是redis做持久化

高洛峰高洛峰2942 days ago949

reply all(3)I'll reply

  • 三叔

    三叔2016-11-11 11:53:26

    我觉得元数据最好在数据库有保留,每次系统启动将其加载到redis中,如果关系有变更,可以让数据库和redis同步。

    reply
    0
  • 欧阳克

    欧阳克2016-11-11 11:53:13

    如果是redis做了持久化,那么把redis自己的持久化数据备份就行了,不用存储到MySQL里面

    reply
    0
  • 三叔

    三叔2016-11-11 11:53:02

    保存。

    你的redis的持久化是append only还是snapshot,如果是snapshot会丢数据的,是append only性能一般。redis的最佳使用场景还是缓存,用来做持久化数据存储不是不可以,但既然有数据库这种专业人士在,干嘛用redis呢

    像用户上下级关系这种个人感觉还是很关键的,而且可能跟用户表本身会有关联,所以最好存在数据库里。为了性能,可以用redis来缓存这些信息。同步有两种方式:

    有改动先插数据库,再插缓存,比较靠谱但性能一般

    有改动先插缓存,批量更新到数据库,靠谱度略差但性能好

    这就需要你根据具体场景来选择了


    reply
    0
  • Cancelreply