redis跟mysql的结合方式

通用思路:

查询先查redis没有在去查mysql,新增或修改直接操作mysql然后更新redis.

以用户管理为例,我查询一个用户,我根据用户名去查redis有就返回,没有再根据用户名去查询mysql;修改我根据用户名去数据库查询数据,然后修改保存数据库,如果保存成功在刷新redis.

进阶思路:

可以给自己的一个规定,给redis的数据一个标记位,或者说一个存key状态的标记位,这个标记位有过期时间。

不是写完数据库去写redis,而是写完数据库后,不更新redis,而是标记redis的里面的数据脏。

去读数据的时候,先查看redis标记位状态,如果标记位为OK,就直接从redis的数据里面显示,如果redis标记位不存在,或者为脏Dirty,说明redis被重启过,没数据,或者数据需要强制更新,就从mysql中拉出数据显示,然后顺便更新redis,然后把标记位置为OK,设好过期时间。

并发小的情况:

利用redis做存储,无论查还是修改都操作redis,然后定期去将redis中的数据同步到mysql中。不知道该种方法可不可行。

用过类似的方案 增删改查都操作redis 然后把数据和操作发到一个队列 起一个服务消费队列去更新数据库 这样看起来像是拿数据库作为redis的备份了……

可以,但是这些情况一般是像抢红包才这样做。 平时增删改,如果并发量不大,还是直接插入到数据库好

使用不是滥用:

 只有性能慢的地方才去使用redis, 不应该滥用,否则维护成本太高.

数据修改或删除后找到删除受影响的redis数据.

优化先从 mysql 索引开始, 不能优化了再去考虑缓存.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,803评论 0 10
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,053评论 0 19
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,423评论 0 9
  • 很久的时间没有到外面走走,发现外面的世界很精彩。 外出调研也好,旅游也好,是为了开阔眼界,扩宽思路。 在其他城市发...
    EvaingWu阅读 136评论 0 0