服务端部署

   第一个里程碑:安装依赖关系

      Memcache用到了libevent这个库用于Socket的处理。

   第二个里程碑:安装memcache

   第三个里程碑:启动memcached服务

注:memcached****可以同时启动多个实例,端口不一致即可。

  <td style="width: 290.55pt; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; border-top-color: #c0504d; border-right-color: #c0504d; border-bottom-color: #c0504d; border-left: none; background: #c0504d; padding: 0cm 5.4pt;" valign="top" width="387">
    <p class="MsoNormal" style="text-align: center; mso-yfti-cnfc: 1;" align="center">
      <span style="font-family: '微软雅黑',sans-serif; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; color: white; mso-themecolor: background1; mso-bidi-font-weight: bold;">参数说明</span>
    </p>
  </td>
</tr>

<tr>
  <td style="width: 120.5pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-color: #d99594; border-bottom-color: #d99594; border-left-color: #d99594; border-top: none; background: #f2dbdb; padding: 0cm 5.4pt;" valign="top" width="161">
    <p class="MsoNormal" style="text-align: center; mso-yfti-cnfc: 68;" align="center">
      <strong><span lang="EN-US">-m</span></strong>
    </p>
  </td>
  
  <td style="width: 290.55pt; border-top: none; border-left: none; border-bottom-width: 1pt; border-bottom-color: #d99594; border-right-width: 1pt; border-right-color: #d99594; background: #f2dbdb; padding: 0cm 5.4pt;" valign="top" width="387">
    <p class="MsoNormal">
      <span lang="EN-US">max memory to use for items in megabytes (default: 64 MB)</span>
    </p>
  </td>
</tr>

<tr>
  <td style="width: 120.5pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-color: #d99594; border-bottom-color: #d99594; border-left-color: #d99594; border-top: none; padding: 0cm 5.4pt;" valign="top" width="161">
    <p class="MsoNormal" style="text-align: center; mso-yfti-cnfc: 4;" align="center">
      <strong><span lang="EN-US">-p</span></strong>
    </p>
  </td>
  
  <td style="width: 290.55pt; border-top: none; border-left: none; border-bottom-width: 1pt; border-bottom-color: #d99594; border-right-width: 1pt; border-right-color: #d99594; padding: 0cm 5.4pt;" valign="top" width="387">
    <p class="MsoNormal">
      <span lang="EN-US">TCP port number to listen on (default: 11211)</span>
    </p>
  </td>
</tr>

<tr>
  <td style="width: 120.5pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-color: #d99594; border-bottom-color: #d99594; border-left-color: #d99594; border-top: none; background: #f2dbdb; padding: 0cm 5.4pt;" valign="top" width="161">
    <p class="MsoNormal" style="text-align: center; mso-yfti-cnfc: 68;" align="center">
      <strong><span lang="EN-US">-d</span></strong>
    </p>
  </td>
  
  <td style="width: 290.55pt; border-top: none; border-left: none; border-bottom-width: 1pt; border-bottom-color: #d99594; border-right-width: 1pt; border-right-color: #d99594; background: #f2dbdb; padding: 0cm 5.4pt;" valign="top" width="387">
    <p class="MsoNormal">
      <span lang="EN-US">run as a daemon</span>
    </p>
  </td>
</tr>

<tr>
  <td style="width: 120.5pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-color: #d99594; border-bottom-color: #d99594; border-left-color: #d99594; border-top: none; padding: 0cm 5.4pt;" valign="top" width="161">
    <p class="MsoNormal" style="text-align: center; mso-yfti-cnfc: 4;" align="center">
      <strong><span lang="EN-US">-u</span></strong>
    </p>
  </td>
  
  <td style="width: 290.55pt; border-top: none; border-left: none; border-bottom-width: 1pt; border-bottom-color: #d99594; border-right-width: 1pt; border-right-color: #d99594; padding: 0cm 5.4pt;" valign="top" width="387">
    <p class="MsoNormal">
      <span lang="EN-US">assume identity of <username> (only when run as root)</span>
    </p>
  </td>
</tr>

<tr>
  <td style="width: 120.5pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-color: #d99594; border-bottom-color: #d99594; border-left-color: #d99594; border-top: none; background: #f2dbdb; padding: 0cm 5.4pt;" valign="top" width="161">
    <p class="MsoNormal" style="text-align: center; mso-yfti-cnfc: 68;" align="center">
      <strong><span lang="EN-US">-c</span></strong>
    </p>
  </td>
  
  <td style="width: 290.55pt; border-top: none; border-left: none; border-bottom-width: 1pt; border-bottom-color: #d99594; border-right-width: 1pt; border-right-color: #d99594; background: #f2dbdb; padding: 0cm 5.4pt;" valign="top" width="387">
    <p class="MsoNormal">
      <span lang="EN-US">max simultaneous connections (default: 1024)</span>
    </p>
  </td>
</tr>

   第四个里程碑:写入开机自启动

客户端部署(web服务器)

   第一个里程碑:安装PHP memcache 扩展插件

命令集如下:

完整操作过程:

查看是否安装成功

   memcache.so__表示插件安装成功。

   第二个里程碑:配置memcache****客户端使其生效

   第三个里程碑:检测语法,重启服务

   浏览器_访问__phpinfo__页面出现memcache__信息表示配置成功_。

   第四个里程碑:编写测试memcache****文件

3 $memcache = new Memcache; 4 $memcache->connect(172.16.1.31, 11211) or die ("Could not connect NFS server"); 5 $memcache->set(key, Memcache connect OK); 6 $get = $memcache->get(key); 7 echo $get; 8 ?>

   测试出现Memcache connect OK 表示连接成功

   第五个里程碑:修改php****配置_(_设置session__共享)

原配置

修改为:

修改之前phpinfo__信息

修改之后phpinfo__信息

到此企业级memcache(session共享)部署完毕

1.1.1 Memcached在集群中session共享存储的优缺点

优点:

    1)读写速度上会比普通文件files速度快很多。

     2)可以解决多个服务器共用session的难题。

缺点:

     1)session数据都保存在memory中,持久化方面有所欠缺,但对session数据来说不是问题。

     2)一般是单台,如果部署多台,多台之间数据无法同步。通过hash算法分配依然有session丢失的问题。

替代方案:

     1)可以用其他的持久化系统存储session,例如redis,ttserver来替代memcached.

     2)高性能并发场景,cookies效率比session要好很多,因此,大网站都会用cookies解决会话共享的问题.

     3)一些不好的方法:lvs-p,nginx  ip_hash,不推荐使用.

 DedeCMS使用memcache问题

解决办法:

   修改文件一:

   修改文件二:

   让DedeCMS直接使用memcache的共享.解决问题.

特别感谢:元芳