Memcache技术笔记-使用memcache缓存

Memcache技术笔记-使用memcache缓存

《Memcache技术笔记-使用memcache缓存》

缓存数据:

1.在内存中缓存数据          2.数据形态以key->value结构        3.安全度非常差的

软件:

1.memcache模块

让php支持memcache的函数,可以去连接memcache服务,进行增、删、改、查

2.memcached  提供memcache服务,11211

学习memcache:

1.memcache服务器操作

2.用php去操作memcache

二、安装:

  1. Windows下操作:

                1.1 在网上下载memcached-1.2.1-win32.zip。解压放某个盘下面,

比如在c:\memcached

1.2 在终端(cmd)下:

D:\AppServ>memcached.exe -d install         安装

D:\AppServ>memcached.exe -d uninstall 卸载

D:\AppServ>memcached.exe -d start   启动

D:\AppServ>memcached.exe -d stop   停止

memcached.exe -h  获取所有帮助

1.3 在启动之后连接:

D:\AppServ> telnet 127.0.0.1 11211   –连接memcache端口11211

使用quit退出。

  1. Linux下安装操作:

2.1 #安装memcache源代码

http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz

  1. 首先安装依赖包libevent

Yum –y install libevent*

  1. #主包已经安装,别忘记安装libevent-devel*,不然./configure过不去

tar xzf /lamp/memcached-1.4.10.tar.gz      解压memcached

cd /lamp/memcached-1.4.10                            进入 memcached目录

./configure –prefix=/usr/local/memcache 配置

make && make install                                        编译与安装

useradd memcache                                          添加memcache用户

  1. #因为系统不能用root运行memcache软件

/usr/local/memcache/bin/memcached –umemcache &     #后台运行

netstat –tunpl|grep :11211                                 查看端口

telnet 192.168.10.1 11211                                  连接测试

stats           memcache命令:查看当前状态

  1. 写入自启动:

vi /etc/rc.local

/usr/local/memcache/bin/memcached –umemcache &

  1. #如何杀掉后台进程

pkill memcached

 

2.2 编译安装memcache

tar  zxvf memcache-2.2.5.tgz                      解压软件包

cd  memcache-2.2.5                                     进入目录

/usr/local/php/bin/phpize                                生成配置环境

./configure –with-php-config=/usr/local/php/bin/php-config      配置

make  &&  make  install                               编译和安装

修改php.ini

extension_dir = “/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/”

extension=”memcache.32.32so”;

 

 

1.安装memcache

2.连接memcache服务器,并进行增、删、改、查操作

3.用php连接memcache服务器,并进行增、删、改、查操作

三、memcached的命令

 

三、memcached的命令

—————————————————

连接  telnet 127.0.0.1 11211

1.【错误指令】

Memcache的协议的错误部分主要是三个错误提示之提示指令:

ERROR — 普通错误信息,比如指令错误之类的

CLIENT_ERROR <错误信息> — 客户端错误

SERVER_ERROR <错误信息> –服务器端错误

 

2.【数据操作命令】

格式:<命令> <键> <标记> <有效期> <数据长度>

其中:

<键> -key,是发送过来指令的key内容

<标记> – flags,是调用set指令保存数据时候的flags标记

有效期:是数据在服务器上的有效期限,如果是0,则数据永远有效,单位是秒

数据的长度,block data 块数据的长度,一般在这个个长度结束以后下一行跟着block data数据内容,

 

发送完数据以后,客户端一般等待服务器端的返回,服务器端的返回:

STORED 数据保存成功

NOT_STORED 数据保存失败,是因为服务器端这个数据key已经存在

 

2.1 添加数据

格式:add 变量名 标记位  时间  长度

例:  add  one 1 100000 10

1234567890

 

  1. 获取 get 变量名

get one

get <键>*

<键>* – key

key是是一个不为空的字符串组合,发送这个指令以后,等待服务器的返回。如果服务器端没有任何数据,则是返回:

END

 

  1. 修改 set|replace  变量名 标记位  时间(秒)  长度

 

  1. delete <键> <超时时间>

<键> – key,希望在服务器上删除数据的key键

<超时时间> – timeout

按照秒为单位,这个是个可选项,如果没有指定这个值,那么服务器上key数据将马上被删除,

如果设置了这个值,那么数据将在超时时间后把数据清除,该项缺省值是0,就是马上被删除

删除数据后,服务器端会返回:

DELETED   删除数据成功

NOT_FOUND   这个key没有在服务器上找到.

 

  1. flush_all 这个指令执行后,服务器上所有缓存的数据都被删除,并且返回:OK

 

如果查看memcache已经启动:

1.服务列表 services.msc

2.查看进程 tasklist|find “11211”

 

netstat -ano |find “11211”  查看端口

tasklist     进程树

php操作memcache:

连接memcache服务:

$mem=new Memcache;

$mem->connect(“localhost”,”11211″);

 

增:

$mem->add($key,$value,是否压缩,过期时间);

$mem->set($key,$value,是否压缩,过期时间);

 

删:

$mem->delete($key);

$mem->flush();

 

改:

$mem->set($key,$value,是否压缩,过期时间);

 

查:

$mem->get($key);

 

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据