Redis作为缓存,如何与MySql的数据进行同步?

允许延时一致的业务


概念

  1. 采用异步通知
  2. 使用MQ作为中间件,更新数据之后通知缓存删除
  3. 利用canal中间件,不需要修改业务代码,伪装成Mysql的一个从节点,canal通过读取binlog数据更新缓存

强一致性业务


概念

  1. 采用Redission提供的读写锁
  2. 共享锁,读锁readLock,加锁以后其他线程可以共享读操作
  3. 排它锁,也叫独占锁writeLock,加锁以后,阻塞其他线程读写操作

相关推荐
我可是ikun啊17 分钟前
Redis经典面试题
数据库·redis·缓存
淘源码A23 分钟前
小微企业SaaS ERP管理系统,SpringBoot+Vue+ElementUI+UniAPP
java·源码·saas·erp·erp系统·erp源码
我是唐青枫25 分钟前
Java 原生异步编程与Spring 异步编程 详解
java
小妖66631 分钟前
vue2 provide 后 inject 数据不是响应式的,不实时更新
java·服务器·前端
zhang238390615438 分钟前
idea如何快速生成测试类
java·ide·intellij-idea
琢磨先生David44 分钟前
Java 24:重构数字信任边界 —— 后量子时代的智能安全防御体系构建
java·安全·重构
西京刀客1 小时前
Go多服务项目结构优化:为何每个服务单独设置internal目录?
开发语言·后端·golang
Pseudo…1 小时前
MySQL数据库操作
数据库·mysql
每次的天空1 小时前
Android Handler 机制面试总结
java·开发语言·jvm
举一个梨子zz1 小时前
Java—— 集合 List
java·开发语言·数据结构·intellij-idea