首页 > 代码库 > memcache 数据库信息存储到数据库减少IO 操作

memcache 数据库信息存储到数据库减少IO 操作

在实际应用中,通常会把数据库查询的结果集保存到 memcached 中,下次访问时直接从 memcached 中获取,而不再做数据库查询操作,这样可以在很大程度上减轻数据库的负担。通常会将 SQL 语句 md5() 之后的值作为唯一标识符 key 。下边是一个利用 memcached 来缓存数据库查询结果集的示例(此代码片段紧接上边的示例代码):复制代码 代码如下 :<?php
//初始化memcache操作
$sql = ‘SELECT * FROM users‘;$key = md5($sql); //memcached 对象标识符if ( !($datas = $mc->get($key)) ) {// 在 memcached 中未获取到缓存数据,则使用数据库查询获取记录集。echo "n".str_pad(‘Read datas from MySQL.‘, 60, ‘_‘)."n";$conn = mysql_connect(‘localhost‘, ‘test‘, ‘test‘);mysql_select_db(‘test‘);$result = mysql_query($sql);while ($row = mysql_fetch_object($result))$datas[] = $row;// 将数据库中获取到的结果集数据保存到 memcached 中,以供下次访问时使用。$mc->add($key, $datas);} else {echo "n".str_pad(‘Read datas from memcached.‘, 60, ‘_‘)."n";}var_dump($datas);?>可以看出,使用 memcached 之后,可以减少数据库连接、查询操作,数据库负载下来了,脚本的运行速度也提高了

 

memcache 数据库信息存储到数据库减少IO 操作