mysql 和 redis的区别
2015-11-18 10:33
507 查看
我们知道,mysql是持久化存储,存放在磁盘里面,检索的话,会涉及到一定的IO,为了解决这个瓶颈,于是出现了缓存,比如现在用的最多的 memcached(简称mc)。首先,用户访问mc,如果未命中,就去访问mysql,之后像内存和硬盘一样,把数据复制到mc一部分。 redis和mc都是缓存,并且都是驻留在内存中运行的,这大大提升了高数据量web访问的访问速度。然而mc只是提供了简单的数据结构,比如 string存储;redis却提供了大量的数据结构,比如string、list、set、hashset、sorted set这些,这使得用户方便了好多,毕竟封装了一层实用的功能,同时实现了同样的效果,当然用redis而慢慢舍弃mc。 内存和硬盘的关系,硬盘放置主体数据用于持久化存储,而内存则是当前运行的那部分数据,CPU访问内存而不是磁盘,这大大提升了运行的速度,当然这是基于程序的局部化访问原理。 推理到redis+mysql,它是内存+磁盘关系的一个映射,mysql放在磁盘,redis放在内存,这样的话,web应用每次只访问redis,如果没有找到的数据,才去访问Mysql。 然而redis+mysql和内存+磁盘的用法最好是不同的。转载,仅供参考
前者是内存数据库,数据保存在内存中,当然速度快。
后者是关系型数据库,功能强大,数据访问也就慢。
像memcache,mongoDB,Redis,都属于No sql系列。
不是一个类型的东西,应用场景也不太一样,还是要看你的需求来决定。
http://blog.sina.com.cn/s/blog_6265c8a10100qrvr.html
相关文章推荐
- 15天玩转redis —— 第四篇 哈希对象类型
- Redis学习笔记(二)
- Redis学习手册(事务)
- redis 安装过程
- Redis的配置
- Redis的安装与使用
- redis性能监控
- Redis序列化存储Java集合List等自定义类型
- Redis序列化存储Java集合List等自定义类型
- Redis序列化存储Java集合List等自定义类型
- Redis监控方案
- Redis总结(二)C#中如何使用redis
- 内存替换redis hll
- redis集群方案总结
- redis缓存技术学习 www.iigrowing.cn/redis-huan-cun-ji-shu-xue-xi.html
- mysql保障数据一致性:redis与mysql数据同步(二)
- 初学Redis(2)——用Redis作为Mysql数据库的缓存
- (转) Redis 遇到的坑
- redis性能相关的数据指标
- 查看远程Redis服务器的版本