您的位置:首页 > 数据库 > Memcache

win7下64位系统memcache/memcached 安装教程

2017-02-09 15:01 816 查看
memcache和memcached的区别 

  memcached技术,这个很容易理解这是memcached是内存缓存,但是怎么还有memcache呢? 

其实很简单,memcache是php的一个扩展,用于php管理memcached,php-memcache.dll。 

(1)如果安装了memcached不安装扩展,那么php无法操控memcached,但是命令行使用起来没有问题 

(2)如果安装了memcache扩展但是没有安装memcached服务,那么这个就无法使用

(3)只有同时安装了memcached服务和memcache扩展才可以在PHP中使用memcached提高动态网站性能
一、安装过程:1、下载memcache的windows64版本

2. 解压下载后的文件,把它放到一个目录中,如D:\memcached。

3. 打开cmd,进入memcached解压后存放的目录,运行命令:

memcached.exe -d install
4、测试是否安装成功:

   打开cmd,进入memcached解压后存放的目录,运行命令:

   memcached -h,若安装成功,会出现如下界面:



5. 启动memcached:

  打开cmd,进入memcached解压后存放的目录,运行命令

memcached -m30 -llcoalhost -p9000 -d start
这时memcached已经启动,在任务管理器中可以看到这个进程:



6、memcache 的基本设置

Memcached 的基本设置 , 可以使用memcached -d ,而不需要memcached.exe -d

-p 监听的端口-l 连接的IP地址,默认是本机-d start 启动memcached服务-d restart 重启memcached 服务-d stop|shutdown 关闭正在运行的memcached服务-d install 安装memcached服务-d uninstall 卸载memcached 服务-u 以xx的身份运行(仅在root运行的时候有效)-m
最大内存使用,单位MB,默认是64MB,最大好像2G-M 内存耗尽时返回错误,而不是删除项-c 最大同时连接数,默认是1024-f 块大小增长因子,默认是1.25-n 最小分配空间 key+value+flags 默认是48-h 显示帮助
7、连接memcache
打开cmd,运行命令:

telnet 127.0.0.1 11211
即可连接Memcached。

注:

(1)win7中可能会出现“telnet’不是内部或外部命令”的错误,这是因为系统中默认没有安装telnet的缘故,可在“控制面板”->“程序”->“程序和功能”->“打开或关闭Windows功能”中打开“Telnet客户端”

(2)在使用telnet 过程中,可能会出现:”该指令无效”,原因是没有回车,

A. Telnet localhost 11211 【回车】

B. Ctrl + 】 打开回显功能

C. 回车

二、memcached常用的控制指令

(1)常用指令如下

命令
                                              描述

                                                                      例子

get
获取一个key值

Get mykey

set
设置一个key值

如果key值存在,更新

如果key值不存在,添加

Set mykey 0 60 5

0(压缩标识)60(时间,秒)5(字符长度)

add
增加一个key值

如果值存在是要失败的

Add newkey 0 60 5

回车之后,输入5个字符长度的数据

replace
重写一个存在的key值

如果这个key 不存在是要报错的

Replace key 0 60 5

和set类似,却别在于该变量不存在则不能存储

append
追加一个数据到存在的key值的后面

Hello

helloworld

Append key 0 60 15

Prepend
追加一数据到存在的key值的前面

Prepend key 0 60 15

Incr
给key值加数

只有当key值是数字才可以加减

Incr mykey 2

Decr
给key值减数

只有当key值是数字才可以加减

Decr mykey 5

Delete
删除一个key

Delete mykey

Flush_all
清除所有key

Flush_all

在一段时间(秒)后清除key

Flush_all 900

stats
 

Stats

 

Stats slabs

 

Stats malloc

 

Stats detail

 

Stats sizes

 

Stats reset

version
 

Version

Verbosity
 

Verbosity

quit
 

quit

(2)stats 的详细解释

Pid

Memcache服务器的进程ID

Uptime

服务器已经运行的秒数

Time

服务器当前的unix时间戳

Version

Memcache版本

Pointer_size

当前操作系统的指针(32位系统一般是32bit)

Rusage_user

进程累计用户时间

Rusage_system

进程的累计系统时间

Curr_items

服务器当前存储的items数量

Total_items

从服务器启动后存储的items总数量

Bytes

当前服务器存储items占用的字节数

Curr_connections

当前打开着的连接数

Total_connections

从服务器启动以后曾经打开过的连接数

Connection_structures

服务器分类的连接构造数

Cmd_get

Get命令(获取)总请求次数

Cmd_set

Set命令(保存)总请求次数

Get_hits

总命中次数

Get_misses

总未命中次数

Evictions

为获取空闲内存而删除的items 数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)

Bytes_read

总读取字节数(请求字节数)

bytes_written

总发送字节数(结果字节数)

limit_maxbytes

分配给memcache的内存大小(字节)

threads

当前线程数

Stats items 查看变量的数量,以及变量的状态Stats cachedump 1 1 [1:指的是压缩时候的标记,后面的1表示的是查看第一条,不是查看第一条里面的记录]、Stats cachedump 1 0 [0:指的是查看所有memcache中存储的变量]
三、安装memcache的php扩展:

下载地址:
http://windows.php.net/downloads/pecl/releases/memcache 进入相关下载页面(下载相关版本)

(1)将下载的php_memcache.dll (根据php的相应版本)放到php的安装目录ext 下

(2)在php.ini 中配置  extension = php_memcache.dll 扩展

如果打开phpinfo()页面没有看到memcached说明没有安装成功
下载的php_memcache.dll 一定要与当前的php版本一致才能安装成功
若能打印出memcache中的信息,则说明php的memcache扩展已安装成功且能使用了!

注意:运行代码时若出现错误Fatal error: Class 'Memcache' not found,有可能是下载的 php_memcache.dll文件与php版本不符,或者与系统位数不符。我的是64位系统,php版本是5.5.12,下载的是php_memcache-3.0.8-5.5-ts-vc11-x64.zip这个文件。

(3)Memcache在php中的使用分为三部分
memcache扩展(php_memcache.dll),memcached扩展(php_memcached.dll),socket操作

①memcache扩展
下载相应版本的php_memcache.dll扩展,在php.ini中配置extension=php_memcache.dll

$mem = new Memcache;$mem ->connect('localhost' , 11211);//连接memcache缓存服务器 , pconnect()长连接,不会因为close而关闭
$mem ->add('demo' , 'hello world!' , false , 30);//插入数据
$demo = $mem ->get('demo');//取出数据
echo "demo的值是:".$demo."<br/>";
$mem->add('num' , 9 , false , 30);
$mem->increment('num' , 1);//将内存中的num 加1
$mem ->decrement('num' , 2);//将内存中的num减1 , 减的数字最小为0
$mem ->delete('num');//删除内存中的num$mem ->flush();//清空内存中所有的变量
$mem ->set('a' , '刘德华' , false , 30);//修改一个变量,当变量不存在时,增加
echo $mem ->get('a');
$mem ->replace('b' ,'demored' , false , 30);//替换一个已经存在的变量,变量不存在不作任何操作
echo $mem->get('b');$mem ->close();//关闭memcache
②Memcached 扩展

下载相应版本的php_memcache.dll

③Socket

使用 memcache-client.php 来使用socket 网络编程来使用memcache , 用法和memcache扩展类似
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: