博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网站提速-缓存技术(4)
阅读量:6576 次
发布时间:2019-06-24

本文共 1989 字,大约阅读时间需要 6 分钟。

memcached基本概念

Memcacheddanga的一个项目,最早是为LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。 官方网站: www.danga.com   memcached.org


Memcached
是一个高性能的分布式的内存对象缓存系统,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

Memcached--原理示意图

简单的说: memcached就是在内存

中维护一张巨大的hash,通过自己

的一套算法来维护数据的操作,这个

算法比较复杂,我们重点掌握如何在项目如何使Memcached技术Memcached-安装 

安装步骤

①下载memcached软件

②将memcached软件拷贝到某个目录,最好放在php开发环境目录下,

便于管理

③cmd命令下执行,安装  memcached d install [卸载使用 memcached -d uninstall]

memcached d start ,启动 memcached 服务

⑤查看memcached 服务是否启动成功默认端口11211

Win7系统要注意我们要进入c\windows\system32,然后以管理员运行cmd.exe程序。

Linuxmemcache安装

Linux下是基于libevent事件,必须先按它

安装libevent

                  ./configure –with-libevent=/usr

                  Make && make install

安装memcached

                  ./configure –with-libevent=/usr

                  Make && make install

启动Memcahced –d –m 128 –l 192.168.1.111 –p 11211 –u root

-m只内存,-l指允许的主机,-p端口,-u用户

停止: kill `cat /tmp/memcached.pid`;Killall  memcached 

telnet操作Memcached

Telnet可以操作memcache,不过win7以上版本默认没安装它,要到程序管理里面安装它。

Telnet localhost 11211  // 登陆memcache

Stats 查看状态,查看命中率96次命中

 

 

saisai字段名增加一个值,字段位从1开始,时间1000秒,长度为10字节.

Set 可以用来更新字段,get来读取字段

Append追加字段,preppend前追加字段

Incr name number增加字段的值,decr name number减少字段的值,quit用来退出telnet连接


 

 

安装并配置Memcache扩展库

php.ini文件添加:

extension=php_memcache.dll

 

并把对应的php_memcache.dll文件拷贝到 php/ext目录下

测试一下php环境

 

              测试:

              <?php

              $mem = new Memcache; 

              $mem->connect(127.0.0.1, 11211); 

              // $mem->addserver(lamp,11211);

              // $mem->addserver(192.168.12.1,11211);   //开启多个

              $mem->set(testHello world!, 0, 12); 

              $val = $mem->get(test); 

              echo $val; 

              ?>

Memcache缓存数组和类:

$mem->add("myarr",array("aaa","bbb","ccc"));

print_r($mem->get("myarr"));

echo '<br>';

class  person{

  var $name="zhangsan";

  var $age=10;

  }

 $mem->add("myobj",new person);

 var_dump($mem->get("myobj"));

 $mem->close();

 

查看Memcache状态

echo $mem->getVersion();

 echo '<pre>';

 print_r($mem->getStats());

 echo '</pre>';

  $mem->close();  

 

 

 

 

 本文转自zsaisai 51CTO博客,原文链接:http://blog.51cto.com/3402313/1032811

 

 

 

 

转载地址:http://dcwno.baihongyu.com/

你可能感兴趣的文章
ORACLE 存储过程异常捕获并抛出
查看>>
HDU 4293 Groups (线性dp)
查看>>
博客园博客美化相关文章目录
查看>>
root用户重置其他密码
查看>>
关于查询扩展版ESI高被引论文的说明
查看>>
Oracle推断值为非数字
查看>>
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
查看>>
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>
从JDK源码角度看Short
查看>>
解密Angular WebWorker Renderer (二)
查看>>
parceljs 中文文档24小时诞生记
查看>>
五年 Web 开发者 star 的 github 整理说明
查看>>
Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
查看>>
ReactNative字体大小不随系统字体大小变化而变化
查看>>
中台之上(五):业务架构和中台的难点,都是需要反复锤炼出标准模型
查看>>
为什么中台是传统企业数字化转型的关键?
查看>>
使用模板将Web服务的结果转换为标记语言
查看>>
inno setup 打包脚本学习
查看>>
php 并发控制中的独占锁
查看>>
从pandas到geopandas
查看>>