mysql 和 redis的区别

转载 2015年11月18日 10:33:23
我们知道,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

Redis和MySQL的结合方案

1,程序同时写Redis和MySQL,读Redis 2,程序写MySQL, 使用Gearman调用MySQL的UDF,完成对Redis的写,读Redis 3,程序写MySQL, 解析binlog,数据...
  • Stubborn_Cow
  • Stubborn_Cow
  • 2016年01月26日 14:27
  • 18720

初学Redis(3)——用Redis作为Mysql数据库的缓存

把Mysql结果集缓存到Redis的字符串或哈希结构中以后,我们面临一个新的问题,即如何为这些字符串或哈希命名,也就是如何确定它们的键。因为这些数据结构所对应的行都属于某个结果集,假如可以找到一种唯一...
  • qtyl1988
  • qtyl1988
  • 2014年09月24日 19:06
  • 46644

redis与Mysql的数据一致性

为了减少db的读压力,加快读速度,系统使用cache做缓存,会引起cache一致性问题。因为db会有事务性导致回滚,而cache无法回滚,会导致脏数据。 一般情况下,我们会在保存数据时,先穿透保存到...
  • ly262173911
  • ly262173911
  • 2017年07月14日 18:16
  • 1777

Redis和MySQL数据同步及Redis使用场景

1.同步MySQL数据到Redis (1) 在redis数据库设置缓存时间,当该条数据缓存时间过期之后自动释放,去数据库进行重新查询,但这样的话,我们放在缓存中的数据对数据的一致性要求不是很高才能放入...
  • Luomingkui1109
  • Luomingkui1109
  • 2017年10月31日 15:12
  • 633

Redis与MySql结合

mysql是持久化存储,存放在磁盘里面,检索的话,会涉及到一定的IO,为了解决这个瓶颈,于是出现了缓存,比如现在常用的 memcached(简称mc),redis。首先,用户访问缓存,如果未命中,就去...
  • u010928364
  • u010928364
  • 2016年02月29日 21:53
  • 877

redis,mysql,memcache的区别与比较,redis两种数据存储持久化方式

http://wenda.so.com/q/1464066157721147?src=140 http://blog.chinaunix.net/uid-429659-id-5190759.ht...
  • wuhuagu_wuhuaguo
  • wuhuagu_wuhuaguo
  • 2017年02月11日 22:50
  • 1046

redis与mysql的区别

我们都知道,MySQL是持久化存储,存放在磁盘里,检索的话,会涉及到一定的I/O,为了解决这个问题,就出现了缓存,首先,用户访问网站,如果未命中,就去访问mysql,之后像内存和磁盘一样,把数据复制到...
  • jessysong
  • jessysong
  • 2017年03月13日 15:50
  • 1140

redis与mysql的区别

我们都知道,mysql是持久化存储,存放在磁盘里,检索的话,会涉及到一定的I/O,为了解决这个问题,就出现了缓存,首先,用户访问网站,如果未命中,就去访问mysql,之后像内存和磁盘一样,把数据复制到...
  • u014209975
  • u014209975
  • 2017年01月05日 18:08
  • 2683

Redis, Memcache, Mysql区别

在使用Redis过程中,我们发现了不少Redis不同于Memcached,也不同于MySQL的特征。 (本文主要讨论Redis未启用VM支持情况) 1. Schema MySQL: 需事先设计 Me...
  • wtyvhreal
  • wtyvhreal
  • 2015年03月15日 10:10
  • 1848

如何使用redis做mysql的缓存

应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql。 同时要注意避免冲突,在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主...
  • zhu1289303556
  • zhu1289303556
  • 2016年03月09日 21:50
  • 19327
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql 和 redis的区别
举报原因:
原因补充:

(最多只允许输入30个字)