Redis与关系型数据库的同步问题
2017-08-23 18:00
435 查看
redis的出现,很大程度补偿了memcached这类key-value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。
按照我们一般的使用Redis的场景应该是这样的:
![](http://pic.veryhuo.com/allimg/1212/0U0405b0-0.jpg)
也就是说:我们会先去Redis中判断数据是否存在,如果存在,则直接返回缓存好的数据。而如果不存在的话,就
4000
会去数据库中,读取数据,并把数据缓存到redis中。适用场合:如果数据量比较大,但不是经常更新的情况(比如用户排行)
而第二种Redis的使用,跟第一种的情况完成不同,具体的情况请看:
![](http://pic.veryhuo.com/allimg/1212/0U0405060-1.png)
这里我们会先去Redis中判断数据是否存在,如果存在,则直接更新对应的数据(吧对应更新过的key记录下来,比如也保存到redis中,key为save_update_keys),并把更新后的数据返回给页面,而如果不保存的话,就会去先更新数据库中的内容,然后把数据保存一份到Redis。后面的工作,后台会有相关机制把Redis中的save_update_keys存储的key,分别读取出来,找到对应的数据,更新到DB中。优点:主要目的是把Redis当做数据库使用,更新获取数据比DB块,非常适合大数据量的频繁变动(比如微博),缺点,对Redis的依赖很大,要做好宕机时的数据保存。
相关文章推荐
- Redis与数据库同步问题
- MySQL主从数据库同步延迟问题解决
- 文件管理器和mediastore数据库同步过程中出现的问题
- 数据库 多线程和多进程同步和崩溃的问题
- SQLSERVER2005清空日志出现的问题,数据库同步
- redis实现关系型数据库连接查询
- mysql 数据库的同步问题
- Redis数据库安装以及碰到的问题解决
- 使用模块Q的promise机制实现数据库操作的同步问题
- 解决Redis到数据库同步BUG方案
- 使用关系型数据库作为Redis落地的思路
- 关于alwayson 数据库用户同步 权限问题
- SQL Server 2008 数据库复制实现数据同步常见问题
- SQLSERVER2005清空日志出现的问题,数据库同步
- MySQL专题 1 分布式部署数据库同步问题 BinLog
- sqlserver创建服务器连接,及同构数据库同步问题
- 利用oracle快照dblink解决数据库表同步问题
- 项目中遇到通过使用路由策略实现主从数据库访问数据不同步的问题
- 解决hibernate产生的id序列或者setXX不能同步到数据库到问题(this.hibernateTemplate.flush();hibernateTemplate.getSessionFactory().getCurrentSession().connection().commit())
- 关于java连接redis数据库报: Connection refused: connect 的问题