Memcache
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Memcache相关的知识,希望对你有一定的参考价值。
Memory:记忆
Cache:贮存,缓存
由这两个单词合成了 memcache:内存缓存
Memcache概述
Memcache是一个分布在内存里面的缓存系统。在内存里面维护了一张表,来存储各种格式的数据,包括图像,视频,文件以及检索的结果。
Memcache和mysql是一样的,是一款客户端/服务器端软件。有IP,有端口(11211),一旦启动,服务器端就处于可用状态
Memcache在Web里面的应用
Memcache缓存的主要目的就是分担数据库的检索压力。特别是对于大型网站,比如新浪微博,facebook,如果没有中间缓存区域,数据访问量由于太大,数据库吃不消。
Memcache一般被用于流量比较大(访问量多)的网站,当然,例如公司网站,学校网站,私人网站这种就没必要了。
使用memcache作为中间缓存区的步骤
①直接让php程序memcache里面寻找数据
②如果memcache里面没有要取的数据,再让PHP程序去数据库取数据
③将数据显示给用户的同时,再将数据保存到memcache里面,并且指定一个缓存时间。
④之后如果要取相同的数据,就可以直接去memcache服务器去获取缓存数据,而不用每次都重新连接数据库
安装Memcache
1.在wamp的bin文件夹下面新建一个memcache文件夹,将memcached.exe文件拷贝进去
2.以管理员的形式打开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 以什么身份运行
3.往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
这里是通过PHP向memcache添加了一条数据
One : Hello memcache
通过telnet查看,可以看到该变量已经成功被添加到了memcache里面
通过手册可以查询到memcache的PHP扩展的相关函数
$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的实际应用
以上是关于Memcache的主要内容,如果未能解决你的问题,请参考以下文章