2.16.9.21练习(memcache)
2016-09-21 11:45
127 查看
《互联网系项目优化日考试题》第二十一单元技能试题
考核目标:memcache
案例图示:
案例描述:
当搜索的关键词被搜索的次数超过10次后,搜索结果缓存到memcache中,缓存时间半个小时,下次再搜索该关键字时直接从memcache返回。搜索次数保存到memcache中。
注意:
1) 可以查资料
评分标准:(可以参考相关手册,不允许参考本机相关代码,否则视为0分。在本月项目基础上修改,否则视为0分)
1) 显示搜索结果,分页正常(30分)
2) 记录关键词的搜索次数(30分)
3) 缓存搜索结果(30分)
4) 缓存存在时从缓存中返回数据(10分)
注意:新建readme.txt,写上几点几分,实现了什么功能。
<?php
$pdo=new PDO("mysql:host=127.0.0.1;dbname=lianxi906","root","root");
$pdo->exec("set names utf8");
$mem = new Memcache;
$mem->connect('127.0.0.1', 11211) or die ("Could not connect");
$page=isset($_GET["page"])?$_GET["page"]:1;
$search=isset($_REQUEST["search"])?$_REQUEST["search"]:"";
$num=$mem->get("s".$search);
if($num){
$num++;
if($num==5){
echo "5次啦";
$sql="select * from hao123 where title like '%$search%'";
$arr=$pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
//总条数
$counts=count($arr);
$mem->set("show".$search,$arr,0,1800);
//每页条数
$length=5;
//总页数
$pages=ceil($counts/$length);
//上下页
$prev=$page<=1?1:$page-1;
$next=$page>=$pages?$pages:$page+1;
//偏移量
$offset=($page-1)*$length;
$sel="select * from hao123 where title like '%$search%' limit $offset,$length";
$list=$pdo->query($sel)->fetchAll(PDO::FETCH_ASSOC);
$mem->set("s".$search,$num);
}else if($num<5){
echo $num;
$sql="select * from hao123 where title like '%$search%'";
//总条数
$counts=count($pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC));
//每页条数
$length=5;
//总页数
$pages=ceil($counts/$length);
//上下页
$prev=$page<=1?1:$page-1;
$next=$page>=$pages?$pages:$page+1;
//偏移量
$offset=($page-1)*$length;
$sel="select * from hao123 where title like '%$search%' limit $offset,$length";
$list=$pdo->query
9c43
($sel)->fetchAll(PDO::FETCH_ASSOC);
$mem->set("s".$search,$num);
}else if($num>5){
echo ">5了 这是缓存哦";
$arr=$mem->get("show".$search);
//每页条数
$length=5;
//总条数
$counts=count($arr);
//总页数
$pages=ceil($counts/$length);
//偏移量
$offset=($page-1)*$length;
//上下页
$prev=$page<=1?1:$page-1;
$next=$page>=$pages?$pages:$page+1;
$list=array_slice($arr, $offset, $length);
}
}else{
echo "第一次";
$sql="select * from hao123 where title like '%$search%'";
//总条数
$counts=count($pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC));
//每页条数
$length=5;
//总页数
$pages=ceil($counts/$length);
//上下页
$prev=$page<=1?1:$page-1;
$next=$page>=$pages?$pages:$page+1;
//偏移量
$offset=($page-1)*$length;
$sel="select * from hao123 where title like '%$search%' limit $offset,$length";
$list=$pdo->query($sel)->fetchAll(PDO::FETCH_ASSOC);
if(!empty($list)){
$mem->set("s".$search,1);
}
}
?>
<form action="" method="post">
<input type="text" name="search" value="<?php echo $search ?>">
<input type="submit" value="搜索" class="serach">
</form>
<table>
<?php foreach($list as $k=>$v){ ?>
<tr>
<td><?php echo $v["id"]?></td>
<td><?php echo $v["title"]?></td>
<td><?php echo $v["url"]?></td>
</tr>
<?php } ?>
</table>
<a href="show.php?page=1&search=<?php echo $search ?>">首页</a>
<a href="show.php?page=<?php echo $prev ?>&search=<?php echo $search ?>">上一页</a>
<a href="show.php?page=<?php echo $next ?>&search=<?php echo $search ?>">下一页</a>
<a href="show.php?page=<?php echo $pages ?>&search=<?php echo $search ?>">尾页</a><br>
第<?php echo $page?>页/共<?php echo $pages ?>页
题号 | 一 | 总分 | 批卷人 | 审核人 |
得分 | | | | |
考核目标:memcache
案例图示:
案例描述:
当搜索的关键词被搜索的次数超过10次后,搜索结果缓存到memcache中,缓存时间半个小时,下次再搜索该关键字时直接从memcache返回。搜索次数保存到memcache中。
注意:
1) 可以查资料
评分标准:(可以参考相关手册,不允许参考本机相关代码,否则视为0分。在本月项目基础上修改,否则视为0分)
1) 显示搜索结果,分页正常(30分)
2) 记录关键词的搜索次数(30分)
3) 缓存搜索结果(30分)
4) 缓存存在时从缓存中返回数据(10分)
注意:新建readme.txt,写上几点几分,实现了什么功能。
<?php
$pdo=new PDO("mysql:host=127.0.0.1;dbname=lianxi906","root","root");
$pdo->exec("set names utf8");
$mem = new Memcache;
$mem->connect('127.0.0.1', 11211) or die ("Could not connect");
$page=isset($_GET["page"])?$_GET["page"]:1;
$search=isset($_REQUEST["search"])?$_REQUEST["search"]:"";
$num=$mem->get("s".$search);
if($num){
$num++;
if($num==5){
echo "5次啦";
$sql="select * from hao123 where title like '%$search%'";
$arr=$pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
//总条数
$counts=count($arr);
$mem->set("show".$search,$arr,0,1800);
//每页条数
$length=5;
//总页数
$pages=ceil($counts/$length);
//上下页
$prev=$page<=1?1:$page-1;
$next=$page>=$pages?$pages:$page+1;
//偏移量
$offset=($page-1)*$length;
$sel="select * from hao123 where title like '%$search%' limit $offset,$length";
$list=$pdo->query($sel)->fetchAll(PDO::FETCH_ASSOC);
$mem->set("s".$search,$num);
}else if($num<5){
echo $num;
$sql="select * from hao123 where title like '%$search%'";
//总条数
$counts=count($pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC));
//每页条数
$length=5;
//总页数
$pages=ceil($counts/$length);
//上下页
$prev=$page<=1?1:$page-1;
$next=$page>=$pages?$pages:$page+1;
//偏移量
$offset=($page-1)*$length;
$sel="select * from hao123 where title like '%$search%' limit $offset,$length";
$list=$pdo->query
9c43
($sel)->fetchAll(PDO::FETCH_ASSOC);
$mem->set("s".$search,$num);
}else if($num>5){
echo ">5了 这是缓存哦";
$arr=$mem->get("show".$search);
//每页条数
$length=5;
//总条数
$counts=count($arr);
//总页数
$pages=ceil($counts/$length);
//偏移量
$offset=($page-1)*$length;
//上下页
$prev=$page<=1?1:$page-1;
$next=$page>=$pages?$pages:$page+1;
$list=array_slice($arr, $offset, $length);
}
}else{
echo "第一次";
$sql="select * from hao123 where title like '%$search%'";
//总条数
$counts=count($pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC));
//每页条数
$length=5;
//总页数
$pages=ceil($counts/$length);
//上下页
$prev=$page<=1?1:$page-1;
$next=$page>=$pages?$pages:$page+1;
//偏移量
$offset=($page-1)*$length;
$sel="select * from hao123 where title like '%$search%' limit $offset,$length";
$list=$pdo->query($sel)->fetchAll(PDO::FETCH_ASSOC);
if(!empty($list)){
$mem->set("s".$search,1);
}
}
?>
<form action="" method="post">
<input type="text" name="search" value="<?php echo $search ?>">
<input type="submit" value="搜索" class="serach">
</form>
<table>
<?php foreach($list as $k=>$v){ ?>
<tr>
<td><?php echo $v["id"]?></td>
<td><?php echo $v["title"]?></td>
<td><?php echo $v["url"]?></td>
</tr>
<?php } ?>
</table>
<a href="show.php?page=1&search=<?php echo $search ?>">首页</a>
<a href="show.php?page=<?php echo $prev ?>&search=<?php echo $search ?>">上一页</a>
<a href="show.php?page=<?php echo $next ?>&search=<?php echo $search ?>">下一页</a>
<a href="show.php?page=<?php echo $pages ?>&search=<?php echo $search ?>">尾页</a><br>
第<?php echo $page?>页/共<?php echo $pages ?>页
相关文章推荐
- 夺命雷公狗---memcache NO:02 练习telnet语法
- 练习:memcache配置和使用
- Windows下Memcache的安装方法
- 英语练习113 Slow down
- 浙江大学ACM俱乐部 1005:A+B 输入输出练习VI
- linux安装memcache报错
- CentOS环境PHP安装测试memcache扩展
- Redis和Memcache对比及选择
- POJ 1002 练习
- AOP的简单练习
- Python练习项目——模拟ATM机登录系统
- 蓝桥杯基础练习十六进制转十进制
- 右下角弹窗效果练习(转载JS技术)
- 需要练习的题目
- 缓存之memcache-1
- [编程练习]ZigZag Conversion <LeetCode-6>
- 【SICP练习】21 练习1.27
- 练习二 1008 猜数字问题
- java练习---计算平均分和总成绩
- c++ primer 练习 2.11