我们知道,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系列。
不是一个类型的东西,应用场景也不太一样,还是要看你的需求来决定。
总结
以上就是本文关于简述Redis和MySQL的区别的全部内容,感兴趣的朋友可以参考:sql和MySQL的语句执行顺序分析、几个比较重要的MySQL变量、Mysql中FIND_IN_SET()和IN区别简析等,如有不足之处,欢迎留言指正。希望对大家有所帮助。
TCP是传输控制协议,UDP是用户数据表协议; TCP长连接,UDP无连接; UDP程序结构较简单,只需发送,无须接收; TCP可靠,保证数据正确性、顺序性;UDP不可靠,可能丢数据; TCP适用于少量数据,UDP适用于大量数据传输; TCP速度慢,UDP速度快;
本文向大家介绍redis 和 memcached 的区别?相关面试题,主要包含被问及redis 和 memcached 的区别?时的应答技巧和注意事项,需要的朋友参考一下 存储方式不同:memcache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小;Redis 有部份存在硬盘上,这样能保证数据的持久性。 数据支持类型:memcache 对数据类型支持相对简单;Redis 有复杂的数据
本文向大家介绍请简述一下Mybatis和Hibernate的区别是什么?相关面试题,主要包含被问及请简述一下Mybatis和Hibernate的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 考察点:Spring框架 参考回答: 简介 Hibernate:Hibernate是当前最流行的ORM框架之一,对JDBC提供了较为完整的封装。Hibernate的O/R Mapping实现了POJO
本节提供了关于MySQL 5.1.分区在概念上的概述。 SQL标准在数据存储的物理方面没有提供太多的指南。SQL语言的使用独立于它所使用的任何数据结构或图表、表、行或列下的介质。但是,大部分高级数据库管理系统已经开发了一些根据文件系统、硬件或者这两者来确定将要用于存储特定数据块物理位置的方法。在MySQL中,InnoDB存储引擎长期支持表空间的概念,并且MySQL服务器甚至在分区引入之前,就能配置
本文向大家介绍简述一下src与href的区别相关面试题,主要包含被问及简述一下src与href的区别时的应答技巧和注意事项,需要的朋友参考一下 href 是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接。 src是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和fr
本文向大家介绍阐述一下阐述Servlet和CGI的区别?相关面试题,主要包含被问及阐述一下阐述Servlet和CGI的区别?时的应答技巧和注意事项,需要的朋友参考一下 考察点:servlet Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成