PHP Memcache缓存数据问题
下面加memache前正常,加后运行也显示,问题是10秒内怎么刷新都有“这是第一次访问从数据库取数据放入内存中!”这句话,目的是只有第一次才有,10秒内再刷新就没有,而且...
下面加memache前正常,加后运行也显示,问题是10秒内怎么刷新都有“这是第一次访问从数据库取数据放入内存中!”这句话,目的是只有第一次才有,10秒内再刷新就没有,而且保证网页其它DIV LI 里内容要一直存在。程序中显然$mem->get($key)一直为0。 怎么改呢?就剩这点分了,帮下忙啊
$mem = new Memcache;
$mem -> connect('localhost', 11211);
$key="myrow";
$row = $mem->get($key);
if(empty($row)) {
include_once("connect.php");
$stmt = $pdo -> prepare("select * from pic8 where toid=? order by ptime ");
$stmt -> setFetchMode(PDO::FETCH_ASSOC);
$stmt -> execute(array(5));
while($row=$stmt -> fetch()){
$pic_id = $row['id'];
$pic_url = $row['pic_url'];
$pic_dm = $row['pic_dm'];
$pic_href = $row['pic_href'];
echo" <li> "
. " <div class=\"title\"><a href=\" $pic_href\"> $pic_dm </a></div>"
. " <div class=\"img\"><a href=\" $pic_href\"><img src=\"/shop/$pic_url\" alt=\" $pic_dm \" /></a></div>"
. " </li> "
.""; }
$mem -> add($key,$row,MEMCACHE_COMPRESSED,10);
echo"这是第一次访问从数据库取数据放入内存中!<br>";
}
。
'.
。还没有人回答吗,关键是我想知道怎么把想要的内容(while里很多个<li>里的内容)写入缓存里??? 展开
$mem = new Memcache;
$mem -> connect('localhost', 11211);
$key="myrow";
$row = $mem->get($key);
if(empty($row)) {
include_once("connect.php");
$stmt = $pdo -> prepare("select * from pic8 where toid=? order by ptime ");
$stmt -> setFetchMode(PDO::FETCH_ASSOC);
$stmt -> execute(array(5));
while($row=$stmt -> fetch()){
$pic_id = $row['id'];
$pic_url = $row['pic_url'];
$pic_dm = $row['pic_dm'];
$pic_href = $row['pic_href'];
echo" <li> "
. " <div class=\"title\"><a href=\" $pic_href\"> $pic_dm </a></div>"
. " <div class=\"img\"><a href=\" $pic_href\"><img src=\"/shop/$pic_url\" alt=\" $pic_dm \" /></a></div>"
. " </li> "
.""; }
$mem -> add($key,$row,MEMCACHE_COMPRESSED,10);
echo"这是第一次访问从数据库取数据放入内存中!<br>";
}
。
'.
。还没有人回答吗,关键是我想知道怎么把想要的内容(while里很多个<li>里的内容)写入缓存里??? 展开
3个回答
展开全部
$mem = new Memcache;
$mem -> connect('localhost', 11211);
$key="mysum";
$sum = $mem->get($key);
if(empty($sum)) {
include_once("connect.php");
$stmt = $pdo -> prepare("select * from pic8 where toid=? order by ptime ");
$stmt -> setFetchMode(PDO::FETCH_ASSOC);
$stmt -> execute(array(5));
while($row=$stmt -> fetch()){
$a= " <li> "
. " <div class=\"title\"><a href=\" $pic_href\"> $pic_dm </a></div>"
. " <div class=\"img\"><a href=\" $pic_href\"><img src=\"/shop/$pic_url\" alt=\" $pic_dm \" /></a></div>"
. " </li> "
."";
$sum=$sum.$a;}
$mem -> add($key,$sum,MEMCACHE_COMPRESSED,10);
echo"这是第一次访问从数据库取数据放入内存中!<br>"; }
echo $sum;
$mem -> connect('localhost', 11211);
$key="mysum";
$sum = $mem->get($key);
if(empty($sum)) {
include_once("connect.php");
$stmt = $pdo -> prepare("select * from pic8 where toid=? order by ptime ");
$stmt -> setFetchMode(PDO::FETCH_ASSOC);
$stmt -> execute(array(5));
while($row=$stmt -> fetch()){
$a= " <li> "
. " <div class=\"title\"><a href=\" $pic_href\"> $pic_dm </a></div>"
. " <div class=\"img\"><a href=\" $pic_href\"><img src=\"/shop/$pic_url\" alt=\" $pic_dm \" /></a></div>"
. " </li> "
."";
$sum=$sum.$a;}
$mem -> add($key,$sum,MEMCACHE_COMPRESSED,10);
echo"这是第一次访问从数据库取数据放入内存中!<br>"; }
echo $sum;
2015-06-14
展开全部
$mem = new Memcache;
$mem -> connect('localhost', 11211);
$key="mysum";
$sum = $mem->get($key);
if(empty($sum)) {
include_once("connect.php");
$stmt = $pdo -> prepare("select * from pic8 where toid=? order by ptime ");
$stmt -> setFetchMode(PDO::FETCH_ASSOC);
$stmt -> execute(array(5));
while($row=$stmt -> fetch()){
$a=" <li>
<div class=\"title\"><a href=\" $pic_href\">
$pic_dm </a></div>". "
<div class=\"img\"><a href=\"
$pic_href\"><img src=\"/shop/$pic_url\" alt=\" $pic_dm \" /></a></div>". " </li> ".""; $sum=$sum.$a;}
$mem -> add($key,$sum,MEMCACHE_COMPRESSED,10);
echo"这是第一次访问从数据库取数据放入内存中!<br>";}
echo $sum;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-06-09 · 知道合伙人软件行家
关注
展开全部
一个问题一个问题的回答吧哎
//连接服务器
$m = new Memcache;
$m->connect('localhost', 11211);
//检查key是否存在,存在的话就不提示第一个登录
if(false === $m->get("key")){
//输出第一次登陆的html,不需要存入内存
}
//设置一个10秒过期的flag
$m->set("key", "loged", false, 10);
然后是怎么把那段html放进内存
$html = '';
while($row=$stmt->fetch()){
//那一坨字符串都付给这个变量
$html.= '<li></li>';
}
$m->set("key", $html, false, 10);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询