memcache的windows下的安装和简单使用
memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcache缺点之一却是缺少安全性验证,所以一般而言我们都会把一些访问量大,但是不需要验证的数据放在这里,需要用的时候来这里取,就给数据库减少了很多的负担。一般而言设定个更新时间就好了,1个小时左右更新一次。
windows下安装和测试memcache最为方便,Linux只是需要相应的编译包就行了,需要包括memcache的程序文件memcached和memcache在php下的扩展模块php_memcache.dll,网上找找很多,有了这两个就可以开始安装过程了。
1. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装
2. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
3.下载php_memcache.dll,请自己查找对应的php版本的文件
4. 在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’
5.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
应用方法很简单,在php文件中new一个新的memcache对象,然后调用方法就够行了,memcache的方法不多,常用的就那几个。
首先连接memcache服务器,建立连接:
$mem = new Memcache;
$mem->connect('memcache_host', 11211);
11211是设置的端口,memcache_host这里放连接的ip.
设置数据用set方法:
$mem->set(’key’, ‘This is a test!’, 0, 60);
60是过期时间,单位是秒。
获取数据用get方法:、
$val = $mem->get("mykey");
替换数据用replace方法:
$mem->replace(‘key1′, ‘This is replace value’, 0, 60);
删除数据用delete方法:
$mem->delete(‘key1′);
也可以存放数组:
$arr = array(‘aaa’, ‘bbb’, ‘ccc’, ‘ddd’);
$mem->set(‘key2′, $arr, 0, 60);
一个实际运用的例子:
- <?php
- $sql = 'SELECT * FROM users';
- $key = md5($sql); //memcached 对象标识符
- if ( !($datas = $mc->get($key)) ) {
- // 在 memcached 中未获取到缓存数据,则使用数据库查询获取记录集。
- echo "n".str_pad('Read datas from MySQL.', 60, '_')."n";
- $conn = mysql_connect('localhost', 'test', 'test');
- mysql_select_db('test');
- $result = mysql_query($sql);
- while ($row = mysql_fetch_object($result))
- $datas[] = $row;
- // 将数据库中获取到的结果集数据保存到 memcached 中,以供下次访问时使用。
- $mc->add($key, $datas);
- } else {
- echo "n".str_pad('Read datas from memcached.', 60, '_')."n";
- }
- var_dump($datas);
- ?>
memcache的windows下的安装和简单使用的更多相关文章
- Python:tesserocr 在 windows 下的安装及简单使用
tesserocr 是 python 的一个 OCR 库,它是对 tesseract 做的一层 Python API 封装,所以他的核心是tesseract. tesseract 的安装见 https ...
- windows下redis安装以及简单配置
1.下载redis 下载地址https://github.com/dmajkic/redis/downloads.有32bit和64bit根据自己需要选择就可以了. 2.安装redis 首先使用cmd ...
- Tesseract 在 windows 下的安装及简单应用
Tesseract 是一个开源的 OCR 引擎,可以识别多种格式的图像文件并将其转换成文本,最初由 HP 公司开发,后来由 Google 维护.下载地址:https://digi.bib.uni-ma ...
- Windows下pry安装和配置
Windows下pry安装和配置 pry是一个增强型的交互式命令行工具,比irb强大. 有自动完成功能,自动缩进,有颜色.有更强大的调试功能. pry 安装很简单. 在终端输入: gem instal ...
- 在windows下完美安装GitHub
笔者最近在Windows下安装GitHub,过程中遇到不少问题.现在把安装的详细步骤分享给大家,免得大家走弯路. 笔者安装了GitHub for Windows程序,一切都运行顺利.但事情没有结束,首 ...
- Ruby入门--Linux/Windows下的安装、代码开发及Rails实战
Ruby入门--Linux/Windows下的安装.代码开发及Rails实战 http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04 ...
- mediawiki在windows下的安装
mediawiki在windows下的安装 对于刚接触wiki的朋友们来说,配置一个服务器环境,安装并运行mediawiki是一件很麻烦的事情,在这里,我尽量用通俗易懂的语言,介绍mw(mediawi ...
- windows下Redis安装及利用java操作Redis
一.windows下Redis安装 1.Redis下载 下载地址:https://github.com/MicrosoftArchive/redis 打开下载地址后,选择版本 然后选择压缩包 下载 R ...
- Windows下Python安装numpy+mkl,Scipy和statsmodels
最近做时间序列分析需要用到Python中的statsmodels,但是安装过程中遇到很头疼的问题,Google.Stackover各种都没有找到合适的解决办法,而且貌似还有很多同学也在吐槽Window ...
随机推荐
- while的使用
我在用while的时候, while(当这个对象的首个字是汉字){ 执行语句 } 我发现出现死循环的现象 其实我要再添加一个条件,就是不管是不是上述条件都成立,最终还是要结束的.
- WPF中图形表示语法详解(Path之Data属性语法)ZZ
大可山 [MSN:a3news(AT)hotmail.com] http://www.zpxp.com 萝卜鼠在线图形图像处理 ------------------------------------ ...
- CentOS增加swap分区
使用dd命令创建一个swap分区 [root@localhost Desktop]#dd if=/dev/zero of=/home/swap bs=1024 count=1048576 count的 ...
- Issues I encountered when building Windows Store apps on a new laptop
I took over my beloved wives samsung ativ book 9 recently as her first job granted her a brandnew su ...
- Nginx 利用 X-Accel-Redirect response.setHeader 控制文件下载
nginx.conf location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP ...
- Codeforces #Round 376 F 题解
F. Video Cards time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- SQL 学习笔记
1.判断数据库中某个值是否为null(而不是'null',空字符串'',若干个空格' ') 一定不能用=null 或 !=null,而要用is null 或 is not null. 2.在sqlse ...
- GO语言练习:第二个工程--模拟音乐播放器
1.代码 2.编译及运行 1.目录结构 1.1) $ tree . ├── mplayer.go └── src ├── mlib │ ├── manager.go │ └── manager ...
- Jquery用法
$this.closest("dd").addClass("selected").siblings().removeClass("selected&q ...
- 1019 JDBC链接数据库进行修删改查
package com.liu.test01; import java.sql.Statement; import java.sql.Connection; import java.sql.Drive ...