<?php header("content-type:text/html;charset=utf-8"); $pdo = new PDO('mysql:host=127.0.0.1;dbname=g_emall','root','root'); $memcache = new Memcache(); $memcache->connect('127.0.0.1',11211); $search=$_GET['search']; if($search) { $where=$search; }else { $where=1; } if($memcache->get("where")) { $arr=$memcache->get("where"); if(array_key_exists("$where",$arr)) { $arr[$where]=$arr[$where]+1; $memcache->replace("where",$arr); }else { $arr[$where]=1; $memcache->replace("where",$arr); } }else { $memcache->set("where",array("$where"=>1)); } /*** * 搜索三次将内容存入缓存中 */ $num=$memcache->get($where); if($num) { $num++; $memcache->set($where,$num); if($memcache->get($where)>3) { echo "该词汇搜索大于三次从缓存中读取内容"; $goods_data=$memcache->get('goods_data'); }else if($memcache->get($where)==3) { echo "该词汇搜索等于三次将内容存入缓存中"; $sql="select * from goods WHERE goods_title like '%$where%'"; $goods_data=$pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC); $memcache->set('goods_data',$goods_data); }else{ echo "该词汇搜索不足三次读取数据库"; $sql="select * from goods WHERE goods_title like '%$where%'"; $goods_data=$pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC); } }else { echo "把搜索条件存入缓存"; $memcache->set($where,1); $sql="select * from goods WHERE goods_title like '%$where%'"; $goods_data=$pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC); } ?> <form action="./search.php" method="get"> <input type="text" name="search"/> <input type="submit" value="搜索"/> </form> <?php $data=$memcache->get("where"); foreach($data as $key=>$val) { if($val>3) { echo $key; } } ?> <table border="1"> <th>商品编号</th> <th>商品名称</th> <th>商品价格</th> <th>商品简介</th> <th>供货商家</th> <?php foreach($goods_data as $key=>$val):?> <tr> <td><?php echo $val['goods_id'];?></td> <td><?php echo $val['goods_title'];?></td> <td><?php echo $val['goods_price'];?></td> <td><?php echo $val['goods_info'];?></td> <td><?php echo $val['goods_shop'];?></td> </tr> <?php endforeach;?> </table>
Memcache实现搜索关键字
最新推荐文章于 2021-01-19 11:18:04 发布