一、什么是memcached
1.1、概述
官网:http://www.memcached.org/
免费和开源,高性能,分布式内存对象缓存系统,旨在通过减轻数据库负载来加速动态Web应用程序。 Memcached是一个在内存中以键值(key=>value)形式进行存储数据(字符串,对象)。 Memcached简单而强大。其简单的设计促进了快速部署,易于开发,并解决了大型数据缓存面临的许多问题。其API适用于大多数流行语言。
缺点: 数据没有永久保存,不能宕机或断电也不能重启服务,它的信息全部在内存当中。一但完成上述操作,数据将全部丢失。 使用的场景: 不重要且还很小很碎的数据,如登录成功后的session信息就可以存放memcached。 memcached服务,作为缓存使用,所以一般在项目中读取数据使用它可以,写入或修改数据,几乎不用它。
1.2、应用图解
减少数据库访问,提高Web速度 实质:不用去请求读取mysql,减少mysql的并发量和读写量
缓存数据。
1.3、与mysql 进行比较
- 与mysql一样是一个软件服务,需要启动服务
- mysql里面的数据,是存储到磁盘里面的,memcached里面的数据是存储到内存里面
- mysql使用表结构来存储数据,而memcached里面数据的存储是键值对(key=>value)
1.4、memcached中的一些参数限制
key原则 memcached的key的长不超过250字节,value大小限制为1M,默认端口号为11211