1、memcache的php扩展与memcached服务器的区别?
php要操作memcached就必须要安装memcache的扩展,
在http://windows.php.net/downloads/pecl/releases/memcache/下载相应版本安装。
而php要操作memcached就必须要有memcached的服务,不然没有服务,你到哪里去操作数据。2、选择合适你PHP版本的memcache扩展
3、解压,并把其中的php_memcache.dll复制到php安装目录的ext下,并在php.ini中添加
extension=php_memcache.dll4、重启服务器,看见如下说明memcache扩展安装成功。
5、安装memcached服务器
下载地址: http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip
解压后有一个memcached.exe程序,复制到你所需的目录。将memcached加入到windows的服务管理器中:
通过cmd进入memcached的目录,然后输入如下命令> memcached.exe -d install
卸载服务
> memcached.exe -d uninstall6、memcached的常用参数
-p TCP监听端口,默认为11211
-l 监听的网卡IP,服务器有多个IP地址时,可指定监听哪个IP地址。
-m 指定服务所占用的最大内存容量,以M为单位。> memcached.exe -l 127.0.0.1 -m 647、通过telnet来连接上memcached服务端。> telnet 127.0.0.1 112118、memcached的操作命令set key flags exptime bytes
value参数说明
key 字母数字下刬线,标识符组成,长度不要大于250字节。(建议使用前缀)
flags 用于告诉服务器是否压缩后存储数据。
exptime 用于表示该key,在什么时间失效。设置方式有两种,时间间隔和时间戳。区分时间间隔和时间戳的办法是通过临界值24*3600*30,即30天,如果小于就是时间间隔。memcached是可以存储超过30天的数据,通过使用时间戳。
bytes 值的大小(字节为单位,取决于字符集)
value 缓存的数据内容,字符串。(配合序列化与反序列化使用,单个值,不能超过1M大小)获取指定键的值
get key
自增多少
incr key n
自减多少
decr key n添加,如果key已经添加,则添加失败
add key flags exptime bytes
value替换,如果key不存在,则替换失败,功能与set一致,不过限定某些操作
replace key flags exptime bytes
value删除指定的key
delete key清空所有缓存
flush_all获取当前服务器的状态
stats状态参数说明
STAT uptime 运行时间
STAT curr_items 当前缓存的项
STAT total_items 共存储过的缓存项
STAT cmd_get get次数
STAT cmd_set set次数
STAT get_hits get成功次数
STAT get_misses get失败次数提升命中率,应该将常用的,获取频繁的数据存储缓存中。
实际:缓存需要预热,填充缓存阶段。