一、简介
1.memcache与memcached的区别与联系:
memcache是
php的拓展,memcached是客户端,复杂的说:Memcache模块提供了于memcached方便的面向过程及面向对象的接口,memcached是为了降低动态web应用 从数据库加载数据而产生的一种常驻进程缓存产品。
二、安装
1.安装memacached.exe
①c盘下新建一个memcached文件夹,将下载memcached解压到这个文件夹
②在开始中输入cmd,找到cmd.exe程序,在上面点右键,选择“以管理员身份运行”
③输入 : cmd c:/memcached
④输入 :memcached.exe -d install //安装memcached
⑤输入 :memcached.exe -d start //启动memcached
2.安装php_memcached.dll
①到后面的页面下载memcache.dll http://pecl.php.net/package/memcache/3.0.8/windows
// 要下载跟自己的软件集成包版本一致的dll文件,如: ①你的xampp是32位的,你就需要下载x86的 ②phpinfo()中显示 Thread Safety(线程安全):enabled 你需要下载 TS的否则,下载NTS
②将下载的dll文件拷贝到../php/ext 目录下
③在php.in中添加 extension=php_memcache.dll
④重启apace
3.使用memcahe
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set(‘key‘, ‘Hello Memcached!‘, 0, 60);
$val = $mem->get(‘key‘);
echo $val;
//输出:Hello Memcached!,则表明安装成功,可以使用memcached了
//tp5中使用memcached
config.php配置文件中修改缓存类型为memcache
Cache::Set(‘name‘,$value,3600);
Cache::get(‘name‘,‘‘);
//下面是yii2中使用memcached的用法
$memcached = Yii::$app->cache->add(‘sex‘,‘nan‘);
$memcachedGet = Yii::$app->cache->get(‘sex‘);
echo $memcachedGet;
4.常用设置:
-p <num> 监听的端口
-l <ip_addr> 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u <username> 以<username>的身份运行 (仅在以root运行的时候有效)
-m <num> 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c <num> 最大同时连接数,默认是1024
-f <factor> 块大小增长因子,默认是1.25
-n <bytes> 最小分配空间,key+value+flags默认是48
-h 显示帮助
5.注意事件
若指定了 -m,则表示缓存大小为 -m后的数字,单位是 M,例如:
c:/memcached/memcached.exe –l 127.0.0.1 –m 200 - d start
按照上面的安装步骤安装之后,使用 memcached –m 200 来调整最大内存占用之后会发现没有起作用,总是默认的64MB的内存,原因可能是注册表中并没有写入信息,可以这样来修改。
1、 memcached –d shutdown 首先关闭memcached服务。
2、进入注册表,找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/memcached Server, 在其中有一个ImagePath项,值为 "c:/memcached/memcached.exe" -d runservice,在后面加上 -l 127.0.0.1 -m 200 -c 1024。
3、memcached –d start 启动memcached服务,这样就将memcached的最大内存修改为了200MB。