比如,用户的上下级关系,我在redis中保存了一份,还有必要在数据库中保存吗?前提是redis做持久化
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
我觉得元数据最好在数据库有保留,每次系统启动将其加载到redis中,如果关系有变更,可以让数据库和redis同步。
如果是redis做了持久化,那么把redis自己的持久化数据备份就行了,不用存储到MySQL里面
保存。
你的redis的持久化是append only还是snapshot,如果是snapshot会丢数据的,是append only性能一般。redis的最佳使用场景还是缓存,用来做持久化数据存储不是不可以,但既然有数据库这种专业人士在,干嘛用redis呢
像用户上下级关系这种个人感觉还是很关键的,而且可能跟用户表本身会有关联,所以最好存在数据库里。为了性能,可以用redis来缓存这些信息。同步有两种方式:
有改动先插数据库,再插缓存,比较靠谱但性能一般
有改动先插缓存,批量更新到数据库,靠谱度略差但性能好
这就需要你根据具体场景来选择了
我觉得元数据最好在数据库有保留,每次系统启动将其加载到redis中,如果关系有变更,可以让数据库和redis同步。
如果是redis做了持久化,那么把redis自己的持久化数据备份就行了,不用存储到MySQL里面
保存。
你的redis的持久化是append only还是snapshot,如果是snapshot会丢数据的,是append only性能一般。redis的最佳使用场景还是缓存,用来做持久化数据存储不是不可以,但既然有数据库这种专业人士在,干嘛用redis呢
像用户上下级关系这种个人感觉还是很关键的,而且可能跟用户表本身会有关联,所以最好存在数据库里。为了性能,可以用redis来缓存这些信息。同步有两种方式:
有改动先插数据库,再插缓存,比较靠谱但性能一般
有改动先插缓存,批量更新到数据库,靠谱度略差但性能好
这就需要你根据具体场景来选择了