用telnet测试memcached服务器

检查telnet程序是否可用:which telnet

如果没有安装,则安装之:aptitude install telnet

开始测试:

dev-server:~# telnet 192.168.0.240 11211
Trying 192.168.0.240…
Connected to 192.168.0.240.
Escape character is ‘^]’.
set key1 0 60 9
seaprince
STORED
get key1
VALUE key1 0 9
seaprince
END
stats
STAT pid 2557
STAT uptime 249422
STAT time 1246175982
STAT version 1.2.2
STAT pointer_size 32
STAT rusage_user 0.008000
STAT rusage_system 0.004000
STAT curr_items 2
STAT total_items 24
STAT bytes 121
STAT curr_connections 1
STAT total_connections 30
STAT connection_structures 2
STAT cmd_get 26
STAT cmd_set 24
STAT get_hits 21
STAT get_misses 5
STAT evictions 0
STAT bytes_read 3021
STAT bytes_written 2886
STAT limit_maxbytes 67108864
STAT threads 1
END
quit
Connection closed by foreign host.
dev-server:~#

整数操作:

dev-server:~# telnet 192.168.0.240 11211
Trying 192.168.0.240…
Connected to 192.168.0.240.
Escape character is ‘^]’.
get key1
END
set key1 0 3600 3 123
123
STORED
incr key1 5
128
decr key1 5
123
delete key1
DELETED
get key1
END
quit
Connection closed by foreign host.
dev-server:~#

高亮的是需要输入的命令。跟随的是返回。

参考:http://lists.danga.com/pipermail/memcached/2005-April/001332.html

 

php中的memcached扩展使用

本文提供php_memcache.dll 扩展下载,本版本适用于绝大多数PHP 5版本,已经测试5.2.6, 5.2.9-2,欢迎您把测试结果分享出来。

另外,提一下用memcache做session.save_handler的方法。

            ini_set(‘session.save_handler’, ‘memcache’);
            ini_set(‘session.save_path’, ‘tcp://192.168.0.240:11211’);

以下用正常的方式使用session,呵呵,简单吧!如果有更多的服务器,用逗号分隔即可。

            ini_set(‘session.save_path’, ‘tcp://192.168.0.240:11211,tcp://192.168.0.241:11211’);

还可以带上参数,这些参数和Memcache::addServer()保持一致:

            ini_set(‘session.save_path’, ‘tcp://192.168.0.240:11211?persistent=1&weight=1&timeout=1&retry_interval=15’);

更新:

还可以把tcp换成udp,以得到更好的效率,更低的资源消耗:

            ini_set(‘session.save_path’, ‘udp://192.168.0.240:11211,tcp://192.168.0.241:11211’);

debian下memcached的安装与使用

下载并安装memcached:

aptitude install memcached

安装成功后,本机可以正常连接,但局域网内依然不行。后发现是配置文件的问题:

vim /etc/memcached.conf

将-l 127.0.0.1的一行注释掉。因为这一行说明了只监听本地的11211端口,局域网当然无法连接。

然后重启memcached:

/etc/init.d/memcached restart

成功!

另附memcached简单测试方法和控制命令:

telnet 192.168.0.240 11211     测试连接是否正常

/etc/init.d/memcached start  启动    同理,restart 重新启动,stop是停止。