• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

CentOS 5.9下安装配置memcached

mysql 搞代码 4年前 (2022-01-09) 13次浏览 已收录 0个评论

第一次听说memcached应该是我大三的时候吧,那时很傻很天真,听说网站用了memcached缓存后速度就会很快,具体为什么快,怎么快,就不得而知了。如今再看memcached,已经毫无当年的新鲜感。如果,让我选择,我宁愿选择新兴的redis。 一:安装memcached 1 安装

第一次听说memcached应该是我大三的时候吧,那时很傻很天真,听说网站用了memcached缓存后速度就会很快,具体为什么快,怎么快,就不得而知了。如今再看memcached,已经毫无当年的新鲜感。如果,让我选择,我宁愿选择新兴的redis。

一:安装memcached

1 安装前的准备工作,解决依赖关系啊

<code class="python">tar zxf libevent-1.4.13-stable.tar.gzcd libevent-1.4.13-stable./configuremake && make install</code>

2.安装memcached

<code class="python">tar zxf memcached-1.4.5.tar.gzcd  memcached-1.4.5./configure --prefix=/usr/local/memcachedmake && make install有时会提示找不到libevent库文件,解决办法是把/usr/local/lib加入到/etc/ld.so.conf中,过程如下:echo "/usr/local/lib" >> /etc/ld.so.confldconfig</code>

二:配置memcached

1 相信我,真的没啥配置的,直接加参数启动memcached

<code class="python">/usr/local/memcached/bin/<i>本文来源gaodai$ma#com搞$$代**码网</i>memcached -d -m 20 -u root -l 127.0.0.1 -p 11211</code>

2 参数简单介绍

<code class="python">-p  设置端口号(默认不设置为: 11211) -U  UDP监听端口 (默认: 11211, 0 时关闭) -l  绑定地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问) -d 独立进程运行-u  绑定使用指定用于运行进程  -m  允许最大内存用量,单位M (默认: 64 MB) -P  将PID写入文件,这样可以使得后边进行快速进程终止, 需要与 -d 一起使用</code>

3 注意,这是个坑.

<code class="python">memcached slab中item的大小默认是1M,也就是缓存的对象不能超过1M;可以使用-I参数修改,例如修改为4M/usr/local/memcached/bin/memcached -d -I 4M -m 20 -u root -l 127.0.0.1 -p 11211当然了,他肯定会提示你这样做是不好的,内存得不到最大利用(具体看下memcached的介绍)WARNING: Setting item max size above 1MB is not recommended! Raising this limit increases the minimum memory requirements and will decrease your memory efficiency.</code>

三:使用memcached

1 作为一个运维,不知道开发是怎么使用memcached,有些说不过去吧…

请先安装php下memcached客户端,上篇博客安装lnmp时已经安装过了,具体安装参考(http://pecl.php.net/package/memcache)

<code class="python"><?php      //实例化一个memcache对象      $mem=new Memcache;      //链接一台memcahe服务      $mem->connect('localhost','11211');      //准备SQL语句      $sql="select * from yunbbs_users limit 1";      //设置一个键名      $key=md5($sql);      $data=$mem->get($key);      //第二次之后的查询      if(!$data){          try{      //连接mysql服务器      $link=mysql_connect('localhost','root','mumayi') or die("Could not connect: ".mysql_error());      //选择数据库      mysql_select_db("yunbbs") or die("Could not select databases");      //使用mysql_query()函数执行sql语句      $result=mysql_query($sql,$link) or die("Query failed:".mysql_error());      //就一条记录,直接一个数组就取出来了,不用while循环去取了      $data=mysql_fetch_array($result);      //把数据存储到memcache中(第一次查询)      $mem->add($key,$data);      //释放$result变量      mysql_free_result($result);      //释放数据库连接池      mysql_close($link);          }             catch(Exception $e){          echo "error";      }          }       $mem->close();       print_r($data);?>执行下试试,看下输出结果对不(必须没问题呀):[root@printserver code_segment]# /usr/local/php_fpm/bin/php php_memcached.php Array(    [0] => 1    [id] => 1    [1] => budong    [name] => budong    [2] => 99    [flag] => 99    [3] => 0    [avatar] => 0    [4] => 310a78f8774f512015a5079588ad7a02    [password] => 310a78f8774f512015a5079588ad7a02    [5] =>     [email] =>     [6] =>     [url] =>     [7] => 2    [articles] => 2    [8] => 4    [replies] => 4    [9] => 1369230177    [regtime] => 1369230177    [10] => 1372822269    [lastposttime] => 1372822269    [11] => 1375365466    [lastreplytime] => 1375365466    [12] =>     [about] =>     [13] =>     [notic] => )</code>

2 作为一个运维,你偶尔也需要看下memcached的运行状态吧

<code class="python">请先从11211端口telnet进去,再输入stats看下memcached的详细信息telnet 127.0.0.1 11211stats部分结果如下:[root@printserver ~]# telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to printserver (127.0.0.1).Escape character is '^]'.statsSTAT pid 18340STAT uptime 3853STAT time 1384702689STAT version 1.4.5STAT pointer_size 64...</code>

四:是时候结束了

自言自语:

上篇博客,现在还是马马虎虎来了个未完待续,新篇又是这样草草结束,感觉有些对不起自己。忙碌不应该是自己的借口,得逼自己一下了,连写篇博客都这么难,以后还能做什么呢?

参考资料:

memcached 官网:http://memcached.org/

memcached 最佳实践方案:http://sunbean.blog.51cto.com/972509/786174


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:CentOS 5.9下安装配置memcached

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址