Memcache

Memory:记忆

Cache:贮存,缓存

由这两个单词合成了 memcache:内存缓存

  1. Memcache概述

Memcache是一个分布在内存里面缓存系统。在内存里面维护了一张表,来存储各种格式的数据,包括图像,视频,文件以及检索的结果。

MemcacheMySQL是一样的,是一款客户端/服务器端软件。有IP,有端口(11211),一旦启动,服务器端就处于可用状态

  1. MemcacheWeb里面的应用

Memcache缓存的主要目的就是分担数据库的检索压力。特别是对于大型网站,比如新浪微博,facebook,如果没有中间缓存区域,数据访问量由于太大,数据库吃不消。

Memcache一般被用于流量比较大(访问量多)的网站,当然,例如公司网站,学校网站,私人网站这种就没必要了。

 

  1. 使用memcache作为中间缓存区的步骤

①  直接让PHP程序memcache里面寻找数据

② 如果memcache里面没有要取的数据,再让PHP程序去数据库取数据

③ 将数据显示给用户的同时,再将数据保存到memcache里面,并且指定一个缓存时间。

④ 之后如果要取相同的数据,就可以直接去memcache服务器去获取缓存数据,而不用每次都重新连接数据库

  1. 安装Memcache

①  wampbin文件夹下面新建一个memcache文件夹,将memcached.exe文件拷贝进去

 

② 以管理员的形式打开cmd,然后进入到memcache目录下面

输入如下的指令:

memcached.exe –d install 回车

memcached.exe –d start  开始使用memcache

netstat –an 查看网络端口状态  如果11211处于listening状态,说明安装成功

 

memcached.exe –d stop  停止使用memcache

memcached.exe –d uninstall  卸载memcache

memcached.exe –h  显示memcache的帮助

-p :监听的端口(默认为11211)

-I:连接的IP的地址,默认是本机

-d start 开始memcache服务

-d stop|shutdown  停止memcache服务

-d install 安装memcache

-d uninstall 卸载memcache

-u 以什么身份运行

 

③  memcache里面添加数据

一般我们使用telnet这个工具,该工具是windows系统自带的

 

默认telnet是没有打开的,需要在程序与功能里面打开【启动或关闭windows功能】,在telnet客户端前面打钩

 

也是以管理员身份开启cmd 然后输入如下指令:

telnet localhost 11211

 

stats:当前memcached服务器的运行状态

 

add命令

使用add指令添加数据

语法:add  键值 标记 有效期(单位是秒,如果写0代表永远有效) 数据长度

Add  one  1  0  5

Aaaaa

输入回车后如果看到STORED代表添加数据成功

 

Set命令

设置数据:如果键值已经存在,则会被替换,如果不存在,则效果和add效果是一样

Set one 1 0 2

Aa

如果看到STORED代表添加数据成功

 

Get命令

获取存储的值得命令

Get 键值

例如 get one

 

 

Delete命令

删除存储的值

Delete 键值

例如 delete one

如果删除一个不存在的值,则会返回NOT_FOUND

 

flush_all命令

清除所有数据

 

使用PHP操作memcache

代码如下

 

这里是通过PHPmemcache添加了一条数据

One Hello memcache

通过telnet查看,可以看到该变量已经成功被添加到了memcache里面

 

通过手册可以查询到memcachePHP扩展的相关函数

 

 

$memcache -> get('one');  获取数据

 $memcache -> delete('one'); 删除数据

 

$memcache -> flush(); 清空memcache里面所有的数据

 

$memcache -> getstats; 获取服务器的运行状态

 

 $memcache -> set('键名',’值’);设置某一个变量的值

有一个别名函数:

$memcache -> replace  这个为set的别名函数,接收的参数都是和replace一模一样的

 

$memcache -> add('键名',’值’); 添加数据

 

$memcache ->add(‘lamp’,array(‘Linux’,’Apache’,’MySQL’,’PHP’))

 

注意点:memcache里面无法存入资源类型的变量

Memcache的实际应用

如下:

原文地址:https://www.cnblogs.com/q1345837355/p/7403688.html