在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
http://www.crazyant.net/1014.html Memcahced开源分布式内存对象缓存系统通过减少数据库的负担,从而能够加速你的web应用。在本文中我将解释怎样实现一个基于Memcahced的缓存系统。 数据库实例中使用的数据库表包含一个自增的id,一个标题和一个链接字段:
第一次用户请求到达第一次用户发送请求,PHP程序会在访问db数据库的同时,将访问的数据写入Memcached系统。 如图所示,user发送了req请求,application发送数据请求到database,database在将数据返回给application的同时,将数据缓存到了Memcached服务器。 第二次用户请求到达了第二次用户请求到达,会直接读取Memcached服务器的缓存,而不是数据库中的内容,从而减轻了服务器的负担。 本图显示,第二次的请求,application直接从Memcached(简称Mc)读取数据。 Memcached的安装方法网络上有大量关于Memcached安装的方法,其实它就是一个缓存服务器应用程序,意思就像是你装了个Mysql一样,装好了用账号密码IP地址连一下就能使用。 以下是一些很好的资源: php_memcache.dll 在Windows7的Xampp上安装Memcached的方法 在Windows7上的PHP5.3安装Memcached的方法 index.php用PHP操作Memcached的演示
db.php用于连接数据库的代码你需要改变代码中的IP地址、用户名、密码、数据库名字。
注:本文参考Memcached with PHP 关于Windows7 下面安装memcached和php的memcache扩展 http://blog.sina.com.cn/s/blog_61d0b6cd0100w9qq.html Php代码与memcached的交互和与mysql的交互原理是一样的,需要安装一个服务器端的memcached ,现有的交互处理过程已经封装成了一个php的扩展了;需要在php.ini中,将这个扩展加进去。 Php memcached官方手册地址:http://cn2.php.net/manual/en/memcached.get.php 说说我的安装过程: 1.我的环境:php-5.2.6. memcached-win32-1.2.6. 2. 根据下面的步骤安装完以后,可以去控制面板看看memcached服务是否启动起来。如果没有此服务需要重新安装,如果有了,不能启动,可以看一下是不是路径错误了。【我的就是路径错误,启动不起来。找不到指定文件。】 3.php5.2.6自带memcache.dll文件,可以打开phpinfo()看看有没有memcache的扩展。如果没有,可以去pecl地址下载对应版本的memcache替换掉原来的。 一:下载地址: php扩展库pecl下载地址: 二:安装与配置: 安装方法一:下载以后,解压,然后放到C盘根目录下。双击memcached.exe就可以启动memcached服务了,这时,你可以打开任务管理器,如果在进程里出现memcached.exe就说明memcached服务已经启动了,还要让cmd窗口开着,这样才是启动了memcached服务。 安装方法二: 1.下载Windows版的memache的压缩包 2.解压到合适的位置如:D:memached目录下面。 3.进入命令行切换到该目录下面,可以用dir看一下目录下面的文件信息。 4. 输入:memached.exe -d install 安装服务器。 5. 输入:memached.exe -d start启动服务器,等到下次启动系统的时候,此服务会自动启动。默认的端口号为11211. 配置: 1. 下载pecl模块包(地址如上),解压后将php_memache.dll放到php目录的ext子目录下,为了使得能正常使用,最好下载和php版本一致的模块包。 2. 在php.ini文件中导入'extension=php_memcache.dll' 然后重启apache,估计就可以了(可以在phpinfo.php 中,看看是否有memcached模块),当然了,我们可以写一个实验一下 $memcache_obj = new Memcache; $memcache_obj->connect('localhost', 11211); $memcache_obj->set('var_key', 'This is a memcached test!',MEMCACHE_COMPRESSED, 50); echo $memcache_obj->get('var_key');
备注: 1)memcached 的几个指令: -p监听的端口 2)memcached相关的函数: 01.Memcache::add —添加一个值,如果已经存在,则返回false 07.Memcache::delete —删除一个key值 3)zend framework的cache后端支持memcached,我们也可以来试试看 $front = array('lifeTime' =>100,'automatic_serialization' =>true); 现在zend framework 的代码,自己还没有详细研究,等自己以后在学习的过程中,可以尝试用一下; |
2022-08-17
2022-11-06
2022-08-17
2022-07-29
2022-07-18
请发表评论