memcache使用及语法
2016-04-21 08:39
459 查看
MemCache的工作流程如下:
先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
[2]
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
memcache分页效果
memcache搜索效果引入jquery.js 用get方法传值到另外一个页面
memcache请求的数据
先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
[2]
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
memcache分页效果
<?php header("content-type:text/html;charset=utf8"); $page=isset($_GET['page'])?$_GET['page']:1; $mem = new Memcache(); $mem->connect("127.0.0.1","11211"); if($mem->get("data")==""){ $dsn="mysql:host=127.0.0.1;dbname=xxx"; $pdo = new PDO($dsn,"root","root",array(PDO::MYSQL_ATTR_INIT_COMMAND=>'set names utf8')); $sql="SELECT region_id,parent_id,region_name FROM ecs_region"; $rss=$pdo->query($sql); $rss->setFetchMode(PDO::FETCH_ASSOC); $result_arr=$rss->fetchAll(); $mem->set("data",$result_arr,0,0); $num = 20; $arr=$mem->get("data"); $page_number=count($mem->get("data")); $page_con=ceil($page_number/$num); if($page<=0){ $page=1; } if($page>$page_con){ $page=$page_con; } $start=($page-1)*$num; $data=array_slice($arr,$start,$num); $num = 20; $arr=$mem->get("data"); $page_number=count($mem->get("data")); $page_con=ceil($page_number/$num); if($page<=0){ $page=1; } if($page>$page_con){ $page=$page_con; } $start=($page-1)*$num; $num = 20; $arr=$mem->get("data"); $page_number=count($mem->get("data")); $page_con=ceil($page_number/$num); if($page<=0){ $page=1; } if($page>$page_con){ $page=$page_con; } $start=($page-1)*$num; $data=array_slice($arr,$start,$num); }else{ //echo "!"; $num = 20; $arr=$mem->get("data"); $page_number=count($mem->get("data")); $page_con=ceil($page_number/$num); if($page<=0){ $page=1; } if($page>$page_con){ $page=$page_con; } $start=($page-1)*$num; $data=array_slice($arr,$start,$num); //print_r($data); } ?> <table align="center"> <?php foreach($data as $k=>$v){?> <tr> <td><?php echo $v['region_id'];?></td> <td><?php echo $v['parent_id'];?></td> <td><?php echo $v['region_name'];?></td> </tr> <?php }?> </table> <p align="center" style="color: #f199cd;"> <a href="http://www.whd.com/page.php?page=1">首页</a> <a href="http://www.whd.com/page.php?page=<?php echo $page-1?>">上一页</a> <a href="http://www.whd.com/page.php?page=<?php echo $page+1?>">下一页</a> <a href="http://www.whd.com/page.php?page=<?php echo $page_con?>">尾页</a> </p>
memcache搜索效果引入jquery.js 用get方法传值到另外一个页面
<html> <script src='jq.js'></script> <input type='text' id='searchs'/> <input type='button' value='搜索' class='search'/> </html> <script> $(function(){ //alert($); $(document).on("click",".search",function(){ var name=$("#searchs").val(); $.get("sou.php",{name:name},function(e){ alert(e); }) }) }) </script>
memcache请求的数据
<?php $name=$_GET['name']; $mem = new Memcache(); $mem->connect("127.0.0.1","11211"); if($mem->get($name)==""){ $dsn="mysql:host=127.0.0.1;dbname=php7"; $pdo=new PDO($dsn,'root','root'); $pdo->query("set names utf8"); $rss=$pdo->query("select * from day1 where username like '%$name%'"); $rss->setFetchMode(PDO::FETCH_ASSOC); $result_arr=$rss->fetchAll(); $json=$mem->set($name,$result_arr,0,0); echo json_encode($json); }else{ //echo "这不是空的"; $data=$mem->get($name); echo json_encode($data); }
相关文章推荐
- [转]Memcached应用总结
- Spymemcached操作队列分析
- java、memcached的配置及使用。
- memcached在centos minimal安装环境下编译安装
- memcache中一致性哈希算法总结
- memcached的LRU删除机制
- memcached内存管理及key value长度限制
- memcached缓存雪崩现象及解决办法
- memcached增删改查
- Redis与Memcached的区别
- memcache基本使用
- mac下安装memcache集成到xampp
- 启动memcache的方法参数
- MemCache
- Redis(Windows安装方法与Java调用实例 & 配置文件参数说明 & Java使用Redis所用Jar包 & Redis与Memcached区别 & redis-cli.exe命令及示例)
- memcache高并发
- Redis与Memcached的区别
- Memcache-Java-Client-Release源码阅读(之三)
- memcached 基本操作
- memcached基本操作和语法