内存缓存__DiscuzX2.0缓存的用法与缓存机制解析[调用与更新缓存]系列二
2012-11-17 16:19
766 查看
DiscuzX2.0缓存的用法与缓存机制解析[调用与更新缓存]系列二
重点介绍memcache内存缓存功能以及用法
开启服务器端
下载Memcached.exe 放入D:\Memcached目录
-------------------------------------------------------------
cmd命令提示符
安装:memcached.exe -d install
启动:memcached.exe -d start
安装好了,任务管理器可以看到一个memcached的进程,通过netstat -an命令查看
TCP 127.0.0.1:11212 0.0.0.0:0 LISTENING
11211端口被打开,监听中
停止:memcached.exe -d stop 或 memcached.exe -d shutdown
卸载:memcached.exe -d uninstall
推荐使用下面的命令(可以指定IP地址和端口)
D:\Memcached>sc create memcached binPath= "D:\Memcached\memcached.exe -p 9999 -l 127.0.0.1 -m 128 -d runservice" DisplayName=
"memcached server" start= auto depend= TCPIP
其中 -d runservice 为启动Windows服务
启动服务:net start memcached server
安装好了,任务管理器可以看到一个memcached的进程,通过netstat -an命令查看
TCP 127.0.0.1:9999 0.0.0.0:0 LISTENING
---------------------------------------------------------------
开启客户端
下载php_memcache.dll 放入到 \php\ext\ 目录里
在php.ini配置文件中的扩展,加入下面一条
extension=php_memcache.dll
phpinfo() 查看有没有memcache信息
memcache.chunk_size
数据将会被分成指定大小(chunk_size)的块来传输,这个值(chunk_size)越小,写操作的请求就越多,如果发现其他的无法解释的减速,请试着将这个值增大到32768.
测试代码如下
输出结果
写入的信息:
object(stdClass)#5 (3) {
["name"]=>
string(8) "秦迷空间"
["domain"]=>
string(8) "rczjp.cn"
["curtime"]=>
int(1301291388)
}
2秒后获取Cache中的信息
object(stdClass)#6 (3) {
["name"]=>
string(8) "秦迷空间"
["domain"]=>
string(8) "rczjp.cn"
["curtime"]=>
int(1301291388)
}
秦迷空间
4秒后Cache过期,获取不到
bool(false)
其他
show status like 'qcache%';
SQL缓存
SELECT SQL_CACHE * FROM qinmi_common_syscache;
SELECT /*!40001 SQL_CACHE */ * FROM qinmi_common_syscache;
SQL不缓存
SELECT SQL_NO_CACHE * FROM qinmi_common_syscache;
SELECT /*!40001 SQL_NO_CACHE */ * FROM qinmi_common_syscache;
好了,关键的内存缓存就是这样实现的,好处大家都知道就是提高效率,下个系列就详细介绍Discuz2.0的缓存机制
重点介绍memcache内存缓存功能以及用法
开启服务器端
下载Memcached.exe 放入D:\Memcached目录
-------------------------------------------------------------
cmd命令提示符
安装:memcached.exe -d install
启动:memcached.exe -d start
安装好了,任务管理器可以看到一个memcached的进程,通过netstat -an命令查看
TCP 127.0.0.1:11212 0.0.0.0:0 LISTENING
11211端口被打开,监听中
停止:memcached.exe -d stop 或 memcached.exe -d shutdown
卸载:memcached.exe -d uninstall
推荐使用下面的命令(可以指定IP地址和端口)
D:\Memcached>sc create memcached binPath= "D:\Memcached\memcached.exe -p 9999 -l 127.0.0.1 -m 128 -d runservice" DisplayName=
"memcached server" start= auto depend= TCPIP
其中 -d runservice 为启动Windows服务
启动服务:net start memcached server
安装好了,任务管理器可以看到一个memcached的进程,通过netstat -an命令查看
TCP 127.0.0.1:9999 0.0.0.0:0 LISTENING
---------------------------------------------------------------
开启客户端
下载php_memcache.dll 放入到 \php\ext\ 目录里
在php.ini配置文件中的扩展,加入下面一条
extension=php_memcache.dll
phpinfo() 查看有没有memcache信息
memcache.chunk_size
数据将会被分成指定大小(chunk_size)的块来传输,这个值(chunk_size)越小,写操作的请求就越多,如果发现其他的无法解释的减速,请试着将这个值增大到32768.
测试代码如下
$mem = new Memcache;
$mem->connect('127.0.0.1', 9999) or die ("Could not connect");
$obj=new stdClass;
$obj->name='秦迷空间';
$obj->domain='rczjp.cn';
$obj->curtime=time();
echo "写入的信息:\n";
var_dump($obj);
$mem->set('qinmi', $obj, false, 4) or die ("写入失败");//将信息存入Cache中,4秒后过期
sleep(2);
echo "2秒后获取Cache中的信息\n";
$get_result = $mem->get('qinmi');
var_dump($get_result);
echo $get_result->name."\n";
sleep(2);
echo "4秒后Cache过期,获取不到\n";
$get_result = $mem->get('qinmi');
var_dump($get_result);
输出结果
写入的信息:
object(stdClass)#5 (3) {
["name"]=>
string(8) "秦迷空间"
["domain"]=>
string(8) "rczjp.cn"
["curtime"]=>
int(1301291388)
}
2秒后获取Cache中的信息
object(stdClass)#6 (3) {
["name"]=>
string(8) "秦迷空间"
["domain"]=>
string(8) "rczjp.cn"
["curtime"]=>
int(1301291388)
}
秦迷空间
4秒后Cache过期,获取不到
bool(false)
其他
show status like 'qcache%';
SQL缓存
SELECT SQL_CACHE * FROM qinmi_common_syscache;
SELECT /*!40001 SQL_CACHE */ * FROM qinmi_common_syscache;
SQL不缓存
SELECT SQL_NO_CACHE * FROM qinmi_common_syscache;
SELECT /*!40001 SQL_NO_CACHE */ * FROM qinmi_common_syscache;
好了,关键的内存缓存就是这样实现的,好处大家都知道就是提高效率,下个系列就详细介绍Discuz2.0的缓存机制
相关文章推荐
- 缓存__DiscuzX2.0缓存的用法[调用与更新缓存]系列一
- 分布式缓存技术memcached学习系列(三)——memcached内存管理机制
- 分布式缓存技术memcached学习系列(三)——memcached内存管理机制
- Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G
- XML系列:(7)XML解析-Dom4j的DOM解析方式更新XML
- Memcached源码剖析系列之内存存储机制(一)
- Android调用WebService系列之KSoap2对象解析
- mybatis系列十:mybatis缓存机制
- « AFNetworking 图片的本地缓存问题 Get application bundle seed ID in iOS » AFNetworking 使用总结 (用法+JSON解析)
- Object-C系列<Xcode4.2 和 iOS 5 的ARC机制及用法介绍>
- 内存乒乓缓存机制和消息分发机制的C代码实现
- Memcached源码剖析系列之内存存储机制(一)
- 分布式缓存系统 Memcached 内存管理机制
- Memcached源码剖析系列之内存存储机制(一)
- SAX 解析到文件,缓存到内存
- ASP.net用法系列:如何从基类调用LINQ/EF类的属性
- Android ListView 图片异步加载和图片内存缓存机制
- RecyclerView源码解析之缓存机制
- iOS开发缓存机制之—内存缓存机制
- 如何实现缓存系统的更新机制