window中使用memcache攻略(应用语言:PHP)
2015-08-05 16:46
671 查看
缓存的用途
通常会把数据库查询的结果集保存到 memcached 中
下次访问时直接从 memcached 中获取,
而不再做数据库查询操作,
这样可以在很大程度上减轻数据库的负担。
windows环境下的memcached版本,其中包括32bit和64bit的版本,地址如下:
http://pan.baidu.com/s/1bnsbAWJ
**********************
* 简单demo1 *
**********************
$m = new Memcache();
$m->connect('localhost', 11211);//默认的本地缓存接口
$data = 'content'; //需要缓存的数据
$m->add('mykey', $data);
echo $m->get('mykey'); // 输出 content
$m->replace('mykey', 'data'); //替换内容为dataecho $m->get('mykey');//输出 data
$m->delete('mykey'); //删除echo $m->get('mykey'); //输出 false 因为已经删掉
**********************
* 简单demo2 *
**********************
注意:通常会将 SQL 语句 md5() 之后的值作为唯一标识符 key。
<?php
//连接memcache
$m = new Memcache();
$m->connect('localhost', 11211); //本地默认连接端口号11211
//连接数据库的我就不写了.
$sql = 'SELECT * FROM users';
$key = md5($sql); //md5 SQL命令 作为 memcache的唯一标识符
$rows = $m->get($key); //先重memcache获取数据
if (!$rows) {
//如果$rows为false那么就是没有数据咯, 那么就写入数据
$res = mysql_query($sql);
$rows = array();
while ($row = mysql_fetch_array($res)) {
$rows[] = $row;
}
$m->add($key, $rows);
//这里写入重数据库中获取的数据, 可以设置缓存时间, 具体时间设置多少, 根据自己需求吧.
}
var_dump($rows); //打印出数据
//上面第一次运行程序时, 因为还没有缓存数据, 所以会读取一次数据库, 当再次访问程序时, 就直接重memcache获取了.
?>
通常会把数据库查询的结果集保存到 memcached 中
下次访问时直接从 memcached 中获取,
而不再做数据库查询操作,
这样可以在很大程度上减轻数据库的负担。
windows环境下的memcached版本,其中包括32bit和64bit的版本,地址如下:
http://pan.baidu.com/s/1bnsbAWJ
**********************
* 简单demo1 *
**********************
$m = new Memcache();
$m->connect('localhost', 11211);//默认的本地缓存接口
$data = 'content'; //需要缓存的数据
$m->add('mykey', $data);
echo $m->get('mykey'); // 输出 content
$m->replace('mykey', 'data'); //替换内容为dataecho $m->get('mykey');//输出 data
$m->delete('mykey'); //删除echo $m->get('mykey'); //输出 false 因为已经删掉
**********************
* 简单demo2 *
**********************
注意:通常会将 SQL 语句 md5() 之后的值作为唯一标识符 key。
<?php
//连接memcache
$m = new Memcache();
$m->connect('localhost', 11211); //本地默认连接端口号11211
//连接数据库的我就不写了.
$sql = 'SELECT * FROM users';
$key = md5($sql); //md5 SQL命令 作为 memcache的唯一标识符
$rows = $m->get($key); //先重memcache获取数据
if (!$rows) {
//如果$rows为false那么就是没有数据咯, 那么就写入数据
$res = mysql_query($sql);
$rows = array();
while ($row = mysql_fetch_array($res)) {
$rows[] = $row;
}
$m->add($key, $rows);
//这里写入重数据库中获取的数据, 可以设置缓存时间, 具体时间设置多少, 根据自己需求吧.
}
var_dump($rows); //打印出数据
//上面第一次运行程序时, 因为还没有缓存数据, 所以会读取一次数据库, 当再次访问程序时, 就直接重memcache获取了.
?>
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- 实战Memcached缓存系统
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- Redis和Memcached的区别详解
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- Enterprise Library for .NET Framework 2.0缓存使用实例
- PowerShell中编程清空IE缓存方法