Memcached - PHP 安装&使用
来源:互联网 发布:淘宝联盟等级划分 编辑:程序博客网 时间:2024/04/29 14:34
下载Memcached:
http://danga.com/memcached/download.bml
安装:
下载安装libevent,已安装可跳过:
下载地址:http://www.monkey.org/~provos/libevent/
Memcached For PHP Module下载地址:
http://pecl.php.net/package/memcache
http://cn.php.net/manual/zh/ref.memcache.php
安装Memcached服务端
root@tonyvicky:# tar vxzf memcached-1.1.12.tar.gz
root@tonyvicky:# cd memcached-1.1.12
root@tonyvicky:# ./configure --prefix=/usr/local/memcached
root@tonyvicky:# make
root@tonyvicky:# make install
安装完毕重启服务:
root@tonyvicky:# cd /usr/local/memcached/bin
root@tonyvicky:# ./memcached -d -m 50 -p 11211 -u root
安装PHP模块
root@tonyvicky:# tar vxzf memcache-1.5.tgz
root@tonyvicky:# cd memcache-1.5
root@tonyvicky:# /usr/local/php/bin/phpize
root@tonyvicky:# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
root@tonyvicky:# make
root@tonyvicky:# make install
安装完后可能会有如下提示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/
修改php.ini
extension_dir = "./"
修改为:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/"
添加一行:
extension=memcache.so
安装完毕,测试:
PHP代码
- <?php
- $memcache = new Memcache; //创建一个memcache对象
- $memcache->connect('localhost', 11211) or die ("Could not connect"); //连接Memcached服务器
- $memcache->set('key', 'test'); //设置一个变量到内存中,名称是key 值是test
- $get_value = $memcache->get('key'); //从内存中取出key的值
- echo $get_value;
Memcache的内定Function
connect(ip, port)
set(key, value) 数据压缩:set(key, value, MEMCACHE_COMPRESSED)
get(key)
increment, 同set(好像多了个计数功能,没试过)
getStats() 返回当前内存占用情况(return array) print_r($memcached->getStats());
flush 清空内存占用.
代码范例(来自chinaunix):
PHP代码
- <?php
- //访问统计
- $memcache = new Memcache;
- $memcache->connect(’localhost’, 11211) or die ("Could not connect");
- if($s=$memcache->get(’a’)) {
- $s=$s+1;
- $memcache->set(’a’,$s);
- }
- else
- $memcache->set(’a’,1);
- echo ’访问结果为:’.$s;
- ?>
PHP代码
- <?php
- $memcache = new Memcache;
- $memcache->connect(’localhost’, 11211) or die ("Could not connect");
- if($s=$memcache->increment(’a’,1)) {
- echo $s;
- }
- else
- $memcache->set(’a’,1);
- ?>
PHP代码
- <?php
- $memcache = new Memcache;
- $memcache->connect(’localhost’, 11211) or die ("Could not connect");
- $test=(str_repeat(’jetwong’,100000));
- $memcache->set(’b’,($test));
- ?>
- 使用压缩:
- <?php
- $memcache = new Memcache;
- $memcache->connect(’localhost’, 11211) or die ("Could not connect");
- $test=(str_repeat(’jetwong’,100000));
- $memcache->set(’b’,($test),MEMCACHE_COMPRESSED);
- ?>
PHP代码
- <?php
- $memcache = new Memcache;
- $memcache->connect(’localhost’, 11211) or die ("Could not connect");
- /*设置值*/
- $status = $memcache->getStats();
- echo ’设置前内存使用情况’.$status[’bytes’].’<br>’;
- echo ’设置后’;
- for($i=0;$i<9;$i++) {
- $memcache->set(’b’.$i,rand(1,99));
- echo ’<br>’.$i.’->’.$memcache->get(’b’.$i);
- }
- /*查看设置的值*/
- $status = $memcache->getStats();
- echo ’delete前内存使用情况’.$status[’bytes’].’<br>’;
- echo ’<br>开始delete’;
- for($i=0;$i<9;$i++) {
- $memcache->delete(’b’.$i);
- echo ’<br>’.$i.’->’.$memcache->get(’b’.$i);
- }
- /*查看flush使用的情况*/
- $status = $memcache->getStats();
- echo ’使用flush前内存使用情况’.$status[’bytes’].’<br>’;
- echo ’使用flush情况:’;
- for($i=0;$i<9;$i++) {
- $memcache->set(’b’.$i,rand(1,99));
- echo ’<br>’.$i.’->’.$memcache->get(’b’.$i);
- }
- $memcache->flush();
- echo ’flush之后:’;
- for($i=0;$i<9;$i++) {
- echo ’<br>’.$i.’->’.$memcache->get(’b’.$i);
- }
- $status = $memcache->getStats();
- echo ’flush后内存使用情况’.$status[’bytes’].’<br>’;
- ?>
PHP代码
- <?php
- $memcache = new Memcache;
- $memcache->connect(’localhost’, 11211) or die ("Could not connect");
- //600K左右
- $test1= str_repeat(’jetlee’,100000);
- //600K左右
- $test2= str_repeat(’jetlee’,100000);
- //600K左右
- $test3= str_repeat(’李连杰’,200000);
- //600K左右
- $test4= str_repeat(’连杰李’,100000);
- //200K
- $test5= file_get_contents(’http://img.pconline.com.cn/images/photoblog/2988177/20068/4/1154688770042_mthumb.JPG’);
- $test6= file_get_contents(’http://img.pconline.com.cn/images/photoblog/1767557/20069/28/1159417108902_mthumb.jpg’);
- for($i=1;$i<=6;$i++) {
- $j=’test’.$i;
- if($memcache->set($j,$$j)) {
- echo $j.’->设置成功<br>’;
- $status = $memcache->getStats();
- echo ’内存:’.$status[’bytes’].’<br>’;
- }
- else {
- echo $j.’->设置失败<br>’;
- }
- }
- ?>
PHP代码
- <?
- //设置篇
- if($data = $memcache->get(’k’,$v)) {
- //显示我们的数据
- }
- else {
- $data = get_from_database; //得到数据源
- if(!$memcache->set(’k’,$data), MEMCACHE_COMPRESSED) //开始设置
- log(); //不成功,记录失败信息
- }
- ?>
- Memcached - PHP 安装&使用
- Memcached - PHP 安装&使用
- Memcached - PHP 安装&使用
- php 使用memcached 安装配置
- memcached php-memcache 的安装及使用
- memcached、php-memcache安装及使用
- centos7 安装memcached和php-memcached扩展以及memcached使用方式
- memcached安装+php使用手记
- memcached安装+php使用手记
- memcached安装+php使用手记
- memcached安装+php使用手记
- memcached安装+php使用手记
- PHP Memcached扩展安装
- PHP MemCached win安装
- php 安装memcached扩展
- memcached&php扩展安装
- php安装memcached扩展
- 安装php Memcached扩展
- 线程安全
- 通过调用系统摄像头拍照,拍视频
- Hacking Custom Authentication Providers with Grails Spring Security
- Magento网店自定义模板初探(3)——缓存设置
- CListCtrl使用技巧
- Memcached - PHP 安装&使用
- UIImagePickerControlle
- 结构体对齐和类的大小
- const修饰符浅析
- 学习实用英语(3)
- IOCP浅析(一)
- 什么是线程安全和线程不安全
- 衷心的感谢同行们的支持与鼓励,我才会有这个机会!
- C/S通讯,关于java.net.SocketTimeoutException:Read time out:错误