四 Memcache


官网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的更多相关文章
- nginx第三方库安装以及连接memcache
一.nginx第三方模块的安装 第三方模块查询地址:https://www.nginx.com/resources/wiki/modules/ 后来新出来一个nginx memcache增强版,有空可 ...
- json xmpp
https://github.com/lamfire/jspp http://blog.csdn.net/nomousewch/article/category/823687 http://my.os ...
- Openstack知识点总结
Openstack: 一.云计算+openstack概念: 1.云计算是一种按使用量付费的模式,这种模式提供可用的,便捷的,按需的访问,通过互联网进入可配置的计算资源共享池(资源包括网络,计算,存储, ...
- 四两拨千斤式的攻击!如何应对Memcache服务器漏洞所带来的DDoS攻击?
本文由 网易云发布. 近日,媒体曝光Memcache服务器一个漏洞,犯罪分子可利用Memcache服务器通过非常少的计算资源发动超大规模的DDoS攻击.该漏洞是Memcache开发人员对UDP协议支 ...
- Yii系列教程(四):使用Memcache保存会话
1环境准备 安装Memcached服务端: yum -y installmemcached.x86_64 安装PHP-Memcache扩展: yum -y installphp-pecl-memcac ...
- Memcache的客户端连接系列(四) PHP
关键词: Memcached PHP 客户端 声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Memcached)的用户指南.客户端连接方法通用,故摘抄过来分享给大家. PHP客户端 Re ...
- NoSQL四种——kv存储(memcache,Riak),列存储(Cassandra,Hbase),文档类(mongoDB,CouchDB),图数据库(neo4j)
见:https://software.intel.com/sites/default/files/Configuration_and_Deployment_Guide_for_Cassandra_on ...
- PHP之Memcache缓存详解
Mem:memory缩写(内存):内存缓存 1. 断电或者重启服务器内存数据即消失,即临时数据: Memcache默认端口:11211 存入方式:key=>>value ...
- 走进缓存的世界(三) - Memcache
系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 简介 Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用 ...
随机推荐
- bugku 逆向 take the maze
看到如果判断正确之后 会生成一个png文件 直接用idc脚本生成: auto v,begin,end,dexbyte; v = fopen("flag.png", "wb ...
- ASP.NET Core 2.x On Ubuntu
安装.NET Core 首先需要安装.NET Core Runtime: https://www.microsoft.com/net/download 点击之后,根据您的Linux发行版不同,选择相应 ...
- Java 学习(1)----- java 学习的总体感觉
好久没有更新博客了,是因为最近在集中精力学习java, Java 的基础知识确实是比 js 多太多了. 学习java 断断续续的差不多有一年左右的时间, 这一年来,感觉懂了一点,过一段时间又忘记了,总 ...
- git 学习(4) ----- git rebase
使用git rebase 的前提是多人协作下的分支开发,如果是单人开发,那就没有必要使用它了,这是由git rebase 的作用所决定的,git rebase 有两大作用:一个是与主分支保持同步,一个 ...
- Java 获取当前线程、进程、服务器ip
/** * 获取当前线程id */ private Long getThreadId() { try { return Thread.currentThread().getId(); } catch ...
- 20165223《网络对抗技术》Exp1 PC平台逆向破解
目录--PC平台逆向破解 1 逆向及BOF基础实践说明 1.1 实践内容 1.2 实践要求 1.3 基础知识 2 实验步骤 2.1 直接修改程序机器指令,改变程序执行流程 2.2 通过构造输入参数,造 ...
- HAOI2019+十二省联考 游记
Day1 T1 考前还奶了一口不会考01Trie的,也就没有学,然后60分BOOM T2 不会SAM,告辞,30分滚粗 T3 传统实现题答?2p,2u,2g分别对应素数,莫比乌斯函数,原根?没看出来, ...
- appache 在windows 中无法启动的测试
使用phpstudy刚启动就自动停止,排除端口被占用后,总感觉找不到好的调试方法 网上找了一些资料,这个方法不错,所以就记录了下来.最好的办法是找appache的bin目录,打开运行,输入httpd. ...
- 2017-12-19python全栈9期第四天第三节之iterable可迭代对象join之字符串和列表转换成字符串和range
#!/user/bin/python# -*- coding:utf-8 -*-s = 'zd's1 = '_'.join(s)print(s1)li = ['zs','ls','ww','zl',' ...
- torchvision 作用
1. 提供主流的model,和常用数据集 2. 对 torch.utils.data.Dataset进行扩充,针对不同类别图像放入不同文件夹的数据进行读取, torchvision.datasets. ...