1.安装memcache
下载地址:http://memcached.org/downloads
安装时提示没有libevent则还需安装libevent
下载地址:http://libevent.org/
# tar zxvf libevent.tar.gz
# cd libevent-1.2
# ./configure --prefix=/usr
# make
# make install查看是否安装了 # ls -al /usr/lib | grep libevent
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure --with-libevent=/usr
# make
# make install查看是否安装了 # ls -al /usr/local/bin/mem*
memcache的帮助:
# /usr/local/bin/memecached -h
memcached 1.2.0
-p <num> port number to listen on
-s <file> unix socket path to listen on (disables network support)
-l <ip_addr> interface to listen on, default is INDRR_ANY
-d run as a daemon
-r maximize core file limit
-u <username> assume identity of <username> (only when run as root)
-m <num> max memory to use for items in megabytes, default is 64 MB
-M return error on memory exhausted (rather than removing items)
-c <num> max simultaneous connections, default is 1024
-k lock down all paged memory
-v verbose (print errors/warnings while in event loop)
-vv very verbose (also print client commands/reponses)
-h print this help and exit
-i print memcached and libevent license
-b run a managed instanced (mnemonic: buckets)
-P <file> save PID in <file>, only used with -d option
-f <factor> chunk size growth factor, default 1.25
-n <bytes> minimum space allocated for key+value+flags, default 48
启动Memcache的服务:
# /usr/local/bin/memcached -d -m 64 -u root -l 192.168.0.100 -p 11211 -c 1024 -P /tmp/memcached.pid
-d 启动一个守护进程
-m 分配给Memcache使用的内存数量,单位是MB
-u 运行Memcache的用户
-l 监听的服务器IP地址,如果有多个地址的话
-p 设置Memcache监听的端口
-c 选项是最大运行的并发连接数,默认是1024,按照负载量来设定
-P 设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`
可以启动多个守护进程,端口不能重复。
php安装m扩展:
下载地址:http://pecl.php.net/package/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
2.用php连接memcache服务器
常用方法:
Memcache::connect -- 打开一个到Memcache的连接
Memcache::pconnect -- 打开一个到Memcache的长连接
Memcache::close -- 关闭一个Memcache的连接
Memcache::set -- 保存数据到Memcache服务器上
Memcache::get -- 提取一个保存在Memcache服务器上的数据
Memcache::replace -- 替换一个已经存在Memcache服务器上的项目(功能类似Memcache::set)
Memcache::delete -- 从Memcache服务器上删除一个保存的项目
Memcache::flush -- 刷新所有Memcache服务器上保存的项目(类似于删除所有的保存的项目)
Memcache::getStats -- 获取当前Memcache服务器运行的状态
连接
$mem=new Memcache;
$mem->connect("localhost","11211");
增:
$mem->add($key,$value,是否压缩,过期时间);
$mem->set($key,$value,是否压缩,过期时间);
//保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
删:
$mem->delete($key);
$mem->flush();
改:
$mem->set($key,$value,是否压缩,过期时间);
$mem->replace($key, $value, 0, 60);
查:
$mem->get($key);
$mem->getStats();
$mem->getVersion();
2881




被折叠的 条评论
为什么被折叠?



