memcache实际上也是一个服务器,不外他是存在内存内里的不是存在磁盘内里的
- 优点
速度很快
- 缺点
不能永久存储,存放巨细受内存限制没有用户名跟防火墙,mysql有
不外缓存内里也不会存储重要信息什么的,速度快就很ok,不外受内存限制有点伤,究竟内存条比力贵
memcache如何安装
以window举例,
将.exe文件放在c盘下,
ctrl+r 打开运行,cmd进入dos,
找到memcache的根目次下
运行指令memcached.exe -d install 举行安装 卸载就是uninstall
如果安装乐成 运行指令memcached -h 检察一下
启动memcache 运行指令memcached.exe -d start 停止就是stop
去任务管理器看一下启动了没有,根本没有啥踩雷的地方。启动好之后,咱们就可以运行memcache了。
memcache的默认端标语是11211,
如果你想更改端标语让别人查不到的话,需要去注册表
regedit
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server
将这个值改为"c:\memcached\memcached.exe" -p 20000 -d runservice 即可,这样的话访问得按照20000的端口访问了
然后我这里用的telnet来操纵(也可以下载secureCRT来弄)
运行指令: telnet 127.0.0.1 11211(如果改端标语了,这里同步)
先打几个空格再说
在memcache服务器内里的操纵暂时不说了,主要说下在php内里的操纵(本日他不是主角),
将php_memcache.dll放在php.ini下,可以ctrl+f寻找extension,然后在最后加上 * extension=php_memcache.dll*
然后 phpinfo检察一下有没有问题
- $me = new Memcache();var_dump($me);
复制代码 这样就说明创建了memcache缓存对象了
当我们客户端访问服务器的时候,如果每一次都从数据库读取数据的话,如果访问量比力大的话,就卡的很,主要是如果优化比力费钱,这种针对长期大概一段时间不会更改的网页的内容,如果是实时的话比方秒杀什么的需要高并发大概是页面一直在更新,照旧不能用缓存机制的好。
创建好之后,开始弄一个用户列表的小例子
- $me = new Memcache();//毗连memcache服务器$me->connect('127.0.0.1',11211);//pdo毗连数据库$dsn = "mysql:host=localhost;dbname=www.hm.com";$username = "hmcom";$password = "123456";$pdo = new PDO($dsn,$username,$password);$pdo->exec('set names utf8');$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//判定是否拿到memcache内里的数据//var_dump($me->get('row'));if(!($row = $me->get('row'))){ echo '还没获取,此时把数据库的数据传到memcache服务器内里'; $sql = "select * from `user` where id > 0"; $smt = $pdo->prepare($sql); $smt->execute(); $result = $smt->fetchAll(); $me->set('row',$result,0,50); $s = 1;}else{ $s = 0;}//判定是否从memcache服务器获取到数据,//如果没有,则访问数据库内里的数据//如果存在,则直接从memcache内里获取数据 (但是注意需要设置逾期时间,否则永远都展示缓存内里的内容了)?> 检察所有用户 [size=5]检察用户:[/size]
- [url=https://www.jianchenwangluo.com/clear.php]清除缓存[/url] [table] [tr] 编号 用户名 年事 资产 [/tr] [tr] [td][/td] [td][/td] [td][/td] [/tr] [/table] 页面数据全部来自Mysql数据库!
-
- 页面数据全部来自Memcache缓存!
-
-
复制代码 第一次是从数据库读取
之后全部是从memcache内里拿数据,不在颠末数据库

实现一键清除缓存
- [url=https://www.jianchenwangluo.com/clear.php]清除缓存[/url]
复制代码 详细实现
[code][/code]
来源:https://blog.csdn.net/weixin_44088587/article/details/111941174
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |