本文实例讲述了PHP+Memcached实现简单留言板功能。分享给大家供大家参考,具体如下:
MyPdo.PHP
PHP;">
pdo = $this->getPdo();
}
/**
* CreatePDO
*
* @return PDO
*/
public function getPdo()
{
$dbms='MysqL';
$dbName='testdb';
$user='root';
$pwd='diligentyang';
$host='localhost';
$dsn="$dbms:host=$host;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);
}catch(Exception $e){
echo $e->getMessage().'
'; exit(); } $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); $pdo->exec("set names utf8"); return $pdo; } /** * Execute sql * * @param string $sql sql * @param string $mode Mode * * @return mixed */ function query($sql = "",$mode = "array") { $sql = trim($sql); if ($sql == "") { $this->showErrors("the mothe query neet at least one param!"); } $query = $this->pdo->query($sql); if (!$query) { $this->showErrors("the sql string is false"); } if (strpos(strtolower($sql),"select") ===false) { return $query; } switch ($mode) { case 'array' : $res = $query->fetchAll(PDO::FETCH_ASSOC); break; case 'object' : $res = $query->fetchObject(); break; case 'count': $res = $query->rowCount(); break; default: $this->showErrors("sqlERROR: please check your second param!"); } return $res; } /** * 提示错误 * * @param string $str 错误提示内容 */ public function showErrors($str) { echo "
'; exit(); } $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); $pdo->exec("set names utf8"); return $pdo; } /** * Execute sql * * @param string $sql sql * @param string $mode Mode * * @return mixed */ function query($sql = "",$mode = "array") { $sql = trim($sql); if ($sql == "") { $this->showErrors("the mothe query neet at least one param!"); } $query = $this->pdo->query($sql); if (!$query) { $this->showErrors("the sql string is false"); } if (strpos(strtolower($sql),"select") ===false) { return $query; } switch ($mode) { case 'array' : $res = $query->fetchAll(PDO::FETCH_ASSOC); break; case 'object' : $res = $query->fetchObject(); break; case 'count': $res = $query->rowCount(); break; default: $this->showErrors("sqlERROR: please check your second param!"); } return $res; } /** * 提示错误 * * @param string $str 错误提示内容 */ public function showErrors($str) { echo "
$str"; exit(); } }
ShowMessage.PHP
PHP;">
addServer('127.0.0.1',11211);
//获取Memcached中的list
$res = $m->get("list");
//如果没有数据,则从数据库中查出,并放入Memcached中,如果有数据则直接输出
if(!$res){
$MyPdo = new MyPdo();
$res = $MyPdo->query("select * from message","array");
$m->set('list',$res,3600);
}
foreach($res as $val){
echo $val['title']."-------".$val['content']."
"; } ?> 添加留言
"; } ?> 添加留言
AddMessage.PHP
PHP;">
CheckAdd.PHP
PHP;">
addServer('127.0.0.1',11211);
$title = $_POST['title'];
$content = $_POST['content'];
$MyPdo = new MyPdo();
$res = $MyPdo->query("insert into message(title,content) values('$title','$content')");
if($res){//如果insert语句执行成功则清除Memcache中的缓存
$m->delete("list");
}
header("location:ShowMessage.PHP");
运行结果如下所示:
注:此例子只是简单实现了,留言列表和添加留言功能,需要注意的是,如果对数据库的数据有了添加或修改,需要清除缓存,然后重新缓存一下,已保证数据显示同步。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.f2er.com/php/17960.html