redis中缓存的数据与数据库数据一致性的方案
2017-03-29 00:00
295 查看
方式1:数据库保存数据,redis不persist
redis启动后,从数据库加载数据
不要求强一致实时性的读请求,都由redis处理
要求强一致实时性的读请求,由数据库处理
写请求有2种处理方式,由数据库处理
应用先写道数据库,然后更新redis
应用先写道数据库,然后其它daemon同步到redis
优点:redis启动不用处理redis数据和数据库不一致
缺点:redis启动给数据库很大的读压力
方式2:数据库和redis分别处理不同的数据类型
数据库处理要求强一致实时性的数据,例如金融数据、交易数据
Redis处理不要求强一致实时性的数据,例如网站最热贴排行榜
redis和MySQL数据的同步,代码级别大致可以这样做:
读: 读redis->没有,读mysql->把mysql数据写回redis
写: 写mysql->成功,写redis
并发不高的情况:
读: 读redis->没有,读mysql->把mysql数据写回redis,有的话直接从redis中取;
写: 写mysql->成功,再写redis;
并发高的情况:
读: 读redis->没有,读mysql->把mysql数据写回redis,有的话直接从redis中取;
写:异步话,先写入redis的缓存,就直接返回;定期或特定动作将数据保存到mysql,可以做到多次更新,一次保存;
redis启动后,从数据库加载数据
不要求强一致实时性的读请求,都由redis处理
要求强一致实时性的读请求,由数据库处理
写请求有2种处理方式,由数据库处理
应用先写道数据库,然后更新redis
应用先写道数据库,然后其它daemon同步到redis
优点:redis启动不用处理redis数据和数据库不一致
缺点:redis启动给数据库很大的读压力
方式2:数据库和redis分别处理不同的数据类型
数据库处理要求强一致实时性的数据,例如金融数据、交易数据
Redis处理不要求强一致实时性的数据,例如网站最热贴排行榜
redis和MySQL数据的同步,代码级别大致可以这样做:
读: 读redis->没有,读mysql->把mysql数据写回redis
写: 写mysql->成功,写redis
并发不高的情况:
读: 读redis->没有,读mysql->把mysql数据写回redis,有的话直接从redis中取;
写: 写mysql->成功,再写redis;
并发高的情况:
读: 读redis->没有,读mysql->把mysql数据写回redis,有的话直接从redis中取;
写:异步话,先写入redis的缓存,就直接返回;定期或特定动作将数据保存到mysql,可以做到多次更新,一次保存;
相关文章推荐
- redis中缓存的数据与数据库数据一致性的方案
- redis中缓存的数据与数据库数据一致性的方案(好)
- redis系列之数据库与缓存数据一致性解决方案
- redis系列之数据库与缓存数据一致性解决方案
- redis系列之数据库与缓存数据一致性解决方案
- redis系列之数据库与缓存数据一致性解决方案
- node.js利用redis数据库缓存数据的方法
- (转)Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- memcache与redis lru 一致性hash 缓存雪崩 缓存无底洞 永久数据被踢现象
- 缓存与数据库一致性之三:缓存穿透、缓存雪崩、key重建方案
- Memcache Redis MongoDB数据缓存系统方案对比与分析
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- redis做DB缓存mysql做冗余数据库,memcached主备存储session下的集群高可用方案
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析