官网http://memcached.org

了解 cookies和session

安装memcached

# yum install memcached  -y

安装nc和telnet 来管理memcached

# yum install nc telnet -y

查看配置文件

# cat /etc/sysconfig/memcached

查看启动文件

# cat /usr/lib/systemd/system/memcached.service

启动

# systemctl start memcached.service

检查一下memcached的端口

# ss -lntup|grep memcached

# printf "set oldboy01 0 0 10\r\nlidao99601\r\n"|nc 172.16.1.21 11211
STORED

# printf "get oldboy01\r\n"|nc 172.16.1.21 11211
VALUE oldboy01 0 10
lidao99601
END

 设置只监听内网网卡 # vim /etc/sysconfig/memcached

或者修改# cat /usr/lib/systemd/system/memcached.service

添加到ExecStart= 后面

重启# systemctl  restart memcached.service 实际工作中不要重启 

重启过后数据就没了  因为他只是工作在内存中

========================================================

 具体做法 php部署memcache客户端

将web01的wordpress准备好,接下来在这台机器安装memcache客户端。
tar xf memcache-2.2.5.tgz
cd memcache-2.2.5
/application/php/bin/phpize
./configure --enable-memcache --with-php-config=/application/php/bin/php-config --with-zlib-dir
make
make install

=====================================================================

安装完成会有个命令只能在PHP里使用

Installing shared extensions:

php.ini-production改名为php.ini

# vim /application/php/lib/php.ini最后一行加上extension=memcache.so

sed -i '$a extension=memcache.so' /application/php/lib/php.ini
pkill php #killall php-fpm 杀掉php
/application/php/sbin/php-fpm -t 检查语法

/application/php/sbin/php-fpm  启动

# /application/php/bin/php -m|grep mem检查是否有memcache模块
memcache

/application/php/bin/php -m|grep memcache

==================================================

php代码测试 

EOF两边加了双引号或者单引号 编辑的内容有符号的不会被解析

cat >/application/nginx/html/blog/mc.php<<'EOF'
<?php
$memcache = new Memcache;
$memcache->connect('10.0.0.21', 11211) or die ("Could not connect");
$memcache->set('key_oldboy', 'hello,oldgirl');
$get_value = $memcache->get('key_oldboy');
echo $get_value;
?>
EOF
# printf "get key20171117\r\n"|nc 10.0.0.21 11211
VALUE key20171117 0 11
hello,world
END

=================================================

web管理memcached

官网:http://www.junopen.com/memadmin/
tar xf memadmin-1.0.12.tar.gz -C /application/nginx/html/blog/

memadmin里面的权限过大 修改一下

# find memadmin -type f |xargs chmod 644
# find memadmin -type d |xargs chmod 755

浏览器访问http://blog.etiantian.org/memadmin

默认账号密码admin

Memcached缓存案例1-缓存wordpress数据库

wordpress缓存数据缓存到memcached中:

插件下载地址https://cn.wordpress.org/plugins/memcached/
wordpress缓存数据缓存到redis中:

插件下载https://cn.wordpress.org/plugins/redis-cache/

wordpress会自动检查wp-content下面是否有object-cache.php
使用memcached缓存wordpress博文数据

下载好后解压移动到

# mv object-cache.php /application/nginx/html/blog/wp-content/

# vim object-cache.ph
修改:array('127.0.0.1','');为memcached服务器ip地址

365                         $buckets = array('172.16.1.21:11211','');

==================================================

测试 登录博客 写内容,然后查看memcache的web管理命中监控不断增加

数据遍历 相应的内容和数据库的一样,这样就成功把数据库的信息缓存到了memcache里

===================================================

Memcached Session共享
方法1:通过程序实现,web01只需要往memcahce写session,web02从memcahce读session,当作普通数据读写(更具有通用性)

方法2:通过php的配置文件,php默认将session存储在文件中,修改为存储在memcached中

 

[root@web01 php]# grep 'session.save' /application/php/lib/php.ini
; http://php.net/session.save-handler
session.save_handler = files 存放会话数据的地方换成memcache
; session.save_path = "N;/path"
; session.save_path = "N;MODE;/path"
; http://php.net/session.save-path
;session.save_path = "/tmp"  默认方在/tmp下 设置存放在memcached服务下"tcp://172.16.1.21:11211"
; (see session.save_path above), then garbage collection does *not*

sed -i 's#session.save_handler = files#session.save_handler = memcache#;$a session.save_path = "tcp://172.16.1.21:11211"' /application/php/lib/php.ini

使用这个功能,需要使用php的session函数

四 Memcache的更多相关文章

  1. nginx第三方库安装以及连接memcache

    一.nginx第三方模块的安装 第三方模块查询地址:https://www.nginx.com/resources/wiki/modules/ 后来新出来一个nginx memcache增强版,有空可 ...

  2. json xmpp

    https://github.com/lamfire/jspp http://blog.csdn.net/nomousewch/article/category/823687 http://my.os ...

  3. Openstack知识点总结

    Openstack: 一.云计算+openstack概念: 1.云计算是一种按使用量付费的模式,这种模式提供可用的,便捷的,按需的访问,通过互联网进入可配置的计算资源共享池(资源包括网络,计算,存储, ...

  4. 四两拨千斤式的攻击!如何应对Memcache服务器漏洞所带来的DDoS攻击?

    本文由  网易云发布. 近日,媒体曝光Memcache服务器一个漏洞,犯罪分子可利用Memcache服务器通过非常少的计算资源发动超大规模的DDoS攻击.该漏洞是Memcache开发人员对UDP协议支 ...

  5. Yii系列教程(四):使用Memcache保存会话

    1环境准备 安装Memcached服务端: yum -y installmemcached.x86_64 安装PHP-Memcache扩展: yum -y installphp-pecl-memcac ...

  6. Memcache的客户端连接系列(四) PHP

    关键词: Memcached   PHP 客户端 声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Memcached)的用户指南.客户端连接方法通用,故摘抄过来分享给大家. PHP客户端 Re ...

  7. NoSQL四种——kv存储(memcache,Riak),列存储(Cassandra,Hbase),文档类(mongoDB,CouchDB),图数据库(neo4j)

    见:https://software.intel.com/sites/default/files/Configuration_and_Deployment_Guide_for_Cassandra_on ...

  8. PHP之Memcache缓存详解

         Mem:memory缩写(内存):内存缓存 1.  断电或者重启服务器内存数据即消失,即临时数据: Memcache默认端口:11211 存入方式:key=>>value    ...

  9. 走进缓存的世界(三) - Memcache

    系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 简介 Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用 ...

随机推荐

  1. word里面对齐用Tab键

    1       Tab      组1 2             组2

  2. Go语言中的闭包

    一.函数的变量作用域和可见性 1.全局变量在main函数执行之前初始化,全局可见 2.局部变量在函数内部或者if.for等语句块有效,使用之后外部不可见 3.全局变量和局部变量同名的情况下,局部变量生 ...

  3. swagger.core的使用方法

    Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务,那么如何在abp中使用呢,已经有大牛为我们实现了一个swagger.core的组件而作为菜鸟 ...

  4. 【dp】合唱队形

    题目描述 NN位同学站成一排,音乐老师要请其中的(N-KN−K)位同学出列,使得剩下的KK位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K,他们的身高分别为 ...

  5. [网络流]BZOJ4657 最小割约束

    题面: DescriptionNick最近在玩一款很好玩的游戏,游戏规则是这样的:有一个n*m的地图,地图上的每一个位置要么是空地,要么是炮塔,要么是一些BETA狗,Nick需要操纵炮塔攻击BETA狗 ...

  6. zabbix3.2监控mysql主从(复制)状态

    问题背景: MySQL主从架构最常见不过了,在生产环境下,主从关系的状态的重要性不言而喻,这里小记一下通过zabbix监控主从状态,并用微信告警测试. 测试环境: 软件 MySQL-master My ...

  7. django 2.接口之工作原理

    1.创建应用程序有两种方法,第一种就是在新建项目的时候,在最初使的时填入应用程序名称,第二种就是进入目录下面,输入 python manage.py startapp appName 就会自动生成一个 ...

  8. java异常和错误相关

    1.挺常见的一个问题,是个error java.lang.NoClassDefFoundError: 当目前执行的类已经编译,但是找不到它的定义时 也就是说你如果编译了一个类B,在类A中调用,编译完成 ...

  9. 使用vcastr22.swf做flash版网页视频播放器

    flash的安装设置参考  Flash设置(各种版本浏览器包括低版本IE) 百度搜索下载vcastr22.swf文件 然后使用方式很简单,浏览器安装flash相关插件就能看了 视频路径主要在这里,视频 ...

  10. linux 命令之文件读取,head, tail, tailf, sed

    head 看文件的前100行head -100  filename tail/tailf查看文件的后100行tail -100  filename 或 tail -n 100  filename ta ...