使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能 够迅速的进行存取。 下面来介绍一下如何安装和使用memcache。

安装memcache

在ubuntu下安装memcache是非常的简单和快捷的,直接安装即可(本人使用的是ubuntu 10.04LTS)
sudo apt-get install memcached
memcached -d -m 50 -p 11211 -u root

参数说明:-m 指定使用多少兆的缓存空间;-p 指定要监听的端口; -u 指定以哪个用户来运行。 查看更多启动参数

接下来是要安装php的memcache模块和memcached模块

sudo apt-get install php5-memcache
sudo apt-get install php5-memcached

修改php.ini 的全局设置,本人的php.ini文件在/etc/php5/apache2/下
sudo vi /etc/php5/apache2/php.ini

找到session.save_handler,并设为 session.save_handler = memcache,把session.save_path前面的分号去掉,并设置为 session.save_path = “tcp://127.0.0.1:11211″
session.save_handler = memcache
session.save_path = “tcp://127.0.0.1:11211″

或者某个目录下的 .htaccess :
php_value session.save_handler “memcache”
php_value session.save_path “tcp://127.0.0.1:11211″

再或者在某个一个应用中:
ini_set(“session.save_handler”, “memcache”);
ini_set(“session.save_path”, “tcp://127.0.0.1:11211″);

使用多个 memcached server 时用逗号”,”隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数”persistent”、”weight”、”timeout”、”retry_interval” 等等,类似这样的:”tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2″ 。

之后记得要重启apache服务器
sudo /etc/init.d/apache2 restart

查看一下phpinfo()中的 “Registered save handlers” 会有 “files user memcache” 这3个可用。如果没有的话重新安装一下或者确定自己是否有重启apache服务器。

接下来要测试一下是否安装成功,编辑文件cache.php,内容为:
view plaincopy to clipboardprint?

error_reporting(E_ALL);  
$memcache = new Memcache;  
$memcache->connect('localhost', 11211) or die("Could not connect");  
      
$memcache->set('key', 'This is a test!', 0, 60);  
$val = $memcache->get('key');  
echo $val;

如果能看到 This is a test!,表示正常安装成功了。
用 memcache 来作 PHP 的 session.save_handler
view plaincopy to clipboardprint?

session_start();  
$_SESSION["UserID"]=123;  
echo session_id();

记下seesion_id,然后编辑一个新的文件,内容为:
view plaincopy to clipboardprint?

$memcache = memcache_connect('localhost', 11211);  
var_dump($memcache->get('f4oi3gkal46t1vbb8kd98srff3'));   // f4oi3gkal46t1vbb8kd98srff3 必须换成你上面取得的session_id

如果显示 string(13) “UserID|i:123;” 那么表示你成功使用了memecache。

用 memcache 来存储 session 在读写速度上会比 files 时快很多,而且在多个服务器需要共用 session 时会比较方便,将这些服务器都配置成使用同一组 memcached 服务器就可以,减少了额外的工作量。缺点是 session 数据都保存在 memory 中,持久化方面有所欠缺,但对 session 数据来说也不是很大的问题。

在ubuntu下安装memcache相关推荐

  1. ubuntu 下安装memcache 以及php扩展

    1,下载软件 下载   memcached http://memcached.org/downloads 下载libevent http://libevent.org/ 2,安装  安装libeven ...

  2. Ubuntu 下安装thttpd Web服务器

    不知道大家是不是真的需要用appache这么复杂的功能这么强大的web server,其实有很多时候使用webserver也只是一种远程共享访问的方式.这里,Ubuntu repository的提供了 ...

  3. Ubuntu下安装Apache+PHP+Mysql

    Ubuntu下安装 apache+php+mysql文本服务器! ------------------------------------------------------------------- ...

  4. ubuntu下安装ftp服务器

    ubuntu下安装ftp服务器 Ftp服务器是使用以vsftp为例. 1. 安装     $sudo aptitude install vsftpd     $ps aux | grep 'ftp' ...

  5. linux pureftp mysql_在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp

    在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp 一.安装Ubuntu7.04 Desktop版 二.ubuntu Linux下手工安装mysql5 1.下载mysq ...

  6. ubuntu下安装windows虚拟机

    ubuntu下安装win7虚拟机总结 ubuntu16.04 虚拟机 安装win7/win10 http://WIN10:你不能访问此共享文件夹,解决方法 VirtualBox虚拟机剪贴板共享

  7. Linux :debian(ubuntu)下安装和使用haskell

    文章目录 Linux :debian(ubuntu)下安装haskell 安装 使用 Linux :debian(ubuntu)下安装haskell 安装 直接使用apt进行安装: sudo apt- ...

  8. Linux: debian/ubuntu下安装和使用Java 11

    Linux: debian/ubuntu下安装和使用Java 11 只需6行命令: su - echo "deb http://ppa.launchpad.net/linuxuprising ...

  9. Linux: debian/ubuntu下安装和使用Java 8

    Linux: debian/ubuntu下安装和使用Java 8 7行命令解决问题: su - echo "deb http://ppa.launchpad.net/webupd8team/ ...

最新文章

  1. 基于神经网络的溶解度预测和回归分析
  2. vue - .babelrc
  3. 指令级并行--计算机体系结构
  4. android 极光推送测试,Android 3分钟带你集成极光推送
  5. 【经典回放】多种语言系列数据结构算法:二叉树(JavaScript版)
  6. 支持向量所在超平面方程_深入浅出机器学习算法:支持向量机
  7. Metasploit介绍
  8. 谷歌:开源捐赠需分成,否则下架!
  9. iOS开发之openURL:(打电话,打开网页等)
  10. 机器学习课程笔记【十四】- 增强学习和自适应控制控制论
  11. VS编译NPAPI:error C2733:不允许重载函数 “NP_Initialize的第二个参数
  12. 异步时钟域的亚稳态问题和同步器(四)
  13. 最优化方法 19:近似梯度下降
  14. matlab中abs函数,Matlab中的abs函数是什么意思
  15. 毕业找工作+实习分享
  16. python--if语句判断数字正负值
  17. dockerError processing tar file(exit status 1): no space left on device
  18. TCP三次握手原理详解
  19. YottaChain数据加密的可靠性和安全性有多高?
  20. office365在线安装太慢,换离线安装终于搞定

热门文章

  1. 程序员-真实学习之路
  2. Spring AOP中的动态代理主要有两种方式,JDK动态代理和CGLIB动态代理:
  3. nginx配置文件中location与root访问时的联系
  4. MySQL5.6 选项和变量整理
  5. oracle11g自动内存管理
  6. ADO.NET封装的SqlHelper
  7. Unity3D学习笔记——Unity3D的窗口布局
  8. 如何让listView加入的HeaderView不可点击【转】
  9. 維護webflow:request、session、application、page
  10. matlab 回音的消除,回声消除AEC - 源码下载|数值算法/人工智能|matlab例程|源代码 - 源码中国...