memcached工作机制学习
来源:互联网 发布:淘宝剩余时间 编辑:程序博客网 时间:2024/06/05 20:44
简介
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。
Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。本质上,它是一个简洁的key-value存储系统。
一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。 (来自官网)
工作机制
memcached是一套用C语言来实现的软件,全部代码只有2000多行,支持多种语言的API但是守护进程还是只支持C,是一套使用C/S模式的软件。在服务端开启
memcached是一套C/S模式架构的软件,在服务器端启动服务守护进程,可以为memcached服务器指定监听的IP地址、端口号、并发访问连接数、以及分配多少内存来处理客户端的请求的参数,多个服务器端可以协同工作,但这些服务器端之间是没有任何通信联系的,每个服务器只对自己的数据进行管理。应用程序端通过指定缓存服务器的IP地址和端口,就可以连接memcached服务进行相互通信。缓存的数据使用Key/Value键值对的形式保存在服务器端预分配的内存空间中,每个被缓存的数据都有唯一的标识Key,操作其中的数据是通过这个唯一标识Key进行的。缓存到Memcached中的数据仅放置在memcached服务预分配的内存中,而非储存在磁盘中,因此存取速度非常快,使其广泛的在互联网中用于提高web拓展性与性能。由于Memcached服务自身没有对缓存的数据进行持久性存储的设计,因此,在服务器端的memcached服务进程重启之后,存储在内存中的这些数据就会丢失。且当内存中缓存的数据容量达到启动时设定的内存值时,就自动使用LRU(最近最少使用算法)算法删除过期的缓存数据。
memcached支持各种语言编写的客户端API,其中常见的有php 、python、Java、C等
大体的工作机制如图
memcached的PHP拓展配置
软件的安装
yum remove `rpm -qa | grep php` #删除原有的冲突的包tar zxf memcache-2.2.5.tgz #解压下载的memcache文件cd memcache-2.2.5 #进入目录下phpsize #php编译以后,拓展模块./configure makemake install #编译yum install memcached.x86_64 -y #安装memcached
然后是对其进行拓展
cd /usr/local/lnmp/php/etc/vim php.ini #将memcache的拓展写到ini文件中
修改如下
870 extension=memcache.so
然后测试是否拓展成功
cd /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/php -m | grep memcache #检测memcache模块是否拓展
然后进行测试
/etc/init.d/php-fpm reload #重新读取配置文件/etc/init.d/memcached start #开启memcache服务netstat -ant |grep 11211 #测试memcache的端口11211是否存在
将解压后的memcache文件中的php文件复制到nginx的发布目录下
cd memcache-2.2.5cp example.php /usr/local/lnmp/nginx/html/cp memcache.php /usr/local/lnmp/nginx/html/cd /usr/local/lnmp/nginx/html/vim example.php #修改文件 修改登录信息 与IP端口vim memcache.php #修改文件
/etc/init.d/memcached reload #重新读取配置文件
然后输入IP+/memcache.php 可以看到网页版本的memcached的使用情况。
- memcached工作机制学习
- memcached的一些内部工作机制
- memcached主线程工作线程通信机制
- memcached学习(3)memcached的删除机制和发展方向
- Memcached 学习笔记(二)内存机制
- Memcached 工作原理介绍
- memcached 工作原理
- memcached底层工作原理
- Memcached 工作原理介绍
- Memcached 工作原理介绍
- Memcached工作原理
- Memcached工作原理终点
- memcached底层工作原理
- Memcached 工作原理
- memcached-安装,工作原理
- Memcached 的工作原理
- memcached底层工作原理
- Memcached工作原理介绍
- Android系列之视频播放器(读取手机内存卡视频)
- 创建pch文件,并设置
- 利用css3的的过渡属性制作手风琴特效
- matlab函数句柄介绍
- 欢迎使用CSDN-markdown编辑器
- memcached工作机制学习
- linaCharts使用说明
- Bigdata Development Java_Guidance_01
- Linux系统下安装TensorFlow(CPU或者GPU版)
- Python:第一个只出现一次的字符
- QStandardItemModel
- 设计模式之适配器模式
- Handler机制整理
- android之制作拍照