基础知识
什么是Memcached
Memcached简介
Memcached:是一个免费开源的、高性能的、具有分布式内存对象的缓存系统,它通过减轻数据库负载加速动态Web应用;
这个实在没什么好说的了,毕竟大家学过redis,数据库的数据是放到磁盘的,而不管是redis还是memcached都可以把它当做一个大大的内存条,从内存条里面读取数据肯定比从硬盘里面读取数据库要快得多。
再来看下它的特性:
-
本质上就是一个内存key-value缓存;
-
协议简单,使用的是基于文本行的协议;
-
不支持数据的持久化,服务器关闭之后数据全部丢失;
-
Memcached简洁而强大,便于快速开发,上手较为容易;
-
互不通信的Memcached之间具有分布特征 ;
-
没有安全机制。
这些特性其实就把memcached的有点缺全部说到了。
本质上是一个内存的key-value缓存这个没什么好说的,这是nosql数据库的标准特点。
协议简单,后面学了客户端的时候会了解,Redis是RESP协议,在RESP里面描述KEY的长度,KEY的值,VALUE的长度,VALUE的值,而在Memcached里面。呵呵哒,协议简单是简单,至于麻不麻烦后面学客户端同学们会有深刻的体会,在这先卖个关子。
其他的,这就不做解释了,同学们一看就明白。
适合和不适合的场景
再来看下memcached的使用场景,什么情况下适合用memcached什么情况下又不适合呢?
memcached适合变化频繁,查询频繁,重点是不是要入库的场景,为啥?它没法持久化。
还有就是变化不频繁,但查询频繁的数据,最后就是读多写少的场景,尤其是电商场景中用于页面数据的缓存,这是memcached适合的场景。
pv值不高,不考虑使用,什么叫pv? 就是page view页面展示次数,如果一些页面都没什么访问量就不要考虑memcached了。
变化频繁且需要入库,这个就直接不要考虑memcached了,为啥?它