memcached服务详解
2017/8/30 20:28:15
介绍
它是一套数据缓存系统或软件
用于动态应用系统中缓存数据库的数据,减少数据库的访问压力,达到提升性能的效果,实际应用环境中多用于数据库的cache的应用。它是通过预分配指定的内存空间来存储数据 定义
它是一个开源的、高性能的,具有分布式内存对象的缓存系统,它一般用来存储经常读取的对象或数据,如同web服务器会将一些内容缓存到客户端本地一样 mysql已经有cache了,为啥还要在它前面加一层memcached? 
memcached是一个key/value系统,系统相对于MySQL简单很多,虽然MySQL也有cache,但是数据库的SQL解析会耗费性能,查询慢于memcached,另外MySQL的cache设计得更加复杂,因为要考虑事务,日志,存储引擎等模块,它的性能也没有memcached好 memcached只做一件事情,简单高效,在cache上比MySQL强,这应该容易理解 memcached的应用场景
数据库的前端缓存应用:让它来分担数据的并发压力,当数据更新时,可以使程序通知缓存进行更新
session会话共享的共享存储 memcached应用中的工作流程
它是一种内存缓存,可通过API的方式读取内存中缓存的这些数据,当用户需要读取数据时,会首先访问memcached内存缓存,如果缓存中有数据就直接返回给前端的应用程序,如果没有,再转发给后台端的服务器,这时服务器除了返回数据给用户,还会将数据更新给memcached缓存。  如果实际生产环境中,缓存服务器需要重启(或者断电),那么缓存中的数据将会丢失,那么这时后端的服务器
并发压力会增大,可能会导致后端的服务器也跟着宕机,无法提供服务,
那么这时我们的处理流程是这样的:
首先从负载均衡中将 WEB 应用停掉----->让负载均衡不再转发数据给 WEB---->接着启动缓存服务器-------->
通过程序把数据库的内容初始化到缓存服务器中------->然后将 web 应用启用------->重启数据库服务器 
      1、设置缓存(expires)和 deflate 压缩,可以将一些内容直接缓存在用户端的本地,下次访问直接调用本地
2、 CDN 缓存静态内容(html、图片等),当用户请求这些内容时直接调用 CDN 的内容,不再请求后端服务器了
3、 Apache 和 Nginx 静态服务器提供静态内容(通过异步消息队列生成静态内容)
4、 PHP 和 JAVA 动态内容
5、数据库的 memcached 缓存服务器
6、数据库服务器(MYSQL)
7、数据库的存储服务器    特性
协议简单:协议使用比较简单,使用基于文本行的协议
基于libevent的事件处理 memcached软件的工作原理
它是一套C/S模式架构的软件,在服务器端启动服务守护进程,可以为memcached服务器指定监听的IP地址、端口号、并发访问连接数以及分配多少内存来处理客户的请求参数
需要被缓存的数据以key/value键值对的形式在服务器端预分配的内存区中,每个被缓存的数据都有唯一的标识key 安装与配置  [root@linuxidc ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@linuxidc ~]# uname -r
2.6.32-696.6.3.el6.x86_64 
libevent安装  [root@linuxidc software]# tar xf libevent-2.1.8-stable.tar.gz
[root@linuxidc software]# cd libevent-2.1.8-stable
[root@linuxidc libevent-2.1.8-stable]# ./configure
[root@linuxidc libevent-2.1.8-stable]# make
[root@linuxidc libevent-2.1.8-stable]# make install 
安装memcached  [root@linuxidc libevent-2.1.8-stable]# yum install memcached
[root@linuxidc libevent-2.1.8-stable]# find / -name memcached
/etc/sysconfig/memcached
/etc/rc.d/init.d/memcached
/usr/bin/memcached
/var/run/memcached 
配置ld.so.conf路径防止启动时报错  [root@linuxidc lib]# echo "/usr/local/lib">>/etc/ld.s

下一页
返回列表
返回首页
©2018 Linux公社 - Linux系统门户网站 电脑版