memcahced部署
Memcached是一个内存数据库,数据以key/value键值对的形式保存在服务器预先分配的内存区块中,由于Memcached服务自身没有对缓存的数据进行持久化存储的设计,因此,在服务器端的Memcached进程重启之后,数据就会丢失。且当内存中缓存的数据容量达到启动时设定的内存值时,也会自动使用LRU算法删除过期的数据
Memcached应用场景
- 作为数据库的查询数据缓存
- 作为集群节点的session会话共享存储
Memcached预热及重启
- 当需要大面积重启Memcached时,首先要在前端控制网站入口的访问流量,然后重启Memcached集群进行预热,所有数据预热完毕之后,再逐步放开前端网站入口流量
- 启动集群服务器时,一定要从网站集群的后端一次往前端开启,特别是要提前预热
Memcached删除机制
- 不主动检车item对象是否过期,而是在get时才会检查item对象是否过期以及是否应该删除
- 当删除item对象时,一般不释放内存空间,而是做删除标记,将指针放入slot回收插槽,下次分配的时候直接使用
- 当内存空间满的时候,将会根据LRU算法把最近最少使用的item对象删除
- 数据存入可以设定过期时间,但是数据过期后不会立即删除,而是在get时检查item对象是否过期以及是否应该删除
- 如果不希望系统使用LRU算法清除数据,可以使用-M参数
安装Memcached
#安装libevent
#Memcached采用的是异步epoll/kqueue非阻塞I/O网络模型,其实现方式是基于异步的libevent时间单进程、单线程模式。使用libevent作为事件通知机制;
#应用程序端通过指定服务器的IP地址及端口,就可以连接Memcached服务进行通信
yum install libevent libevent-devel #安装Memcached
yum安装的版本略低,但是不影响使用,建议使用yum或rpm包方式安装,简单易用
yum install memcached #如果想安装更高版本的则需要编译安装
wget http://memcached.org/files/memcached-1.4.39.tar.gz
tar zxf memcached-1.4.39.tar.gz
cd memcached-1.4.39
./configure --prefix=/usr/local/memcached
make && make install
ln -s /usr/local/memcached/bin/memcached /usr/bin/memcached #我们可以把启动命令放入/etc/rc.local,以便下次开机自启动
Memcached服务的基本管理
#启动Memcached
memcached -m 16m -p 11211 -d -uroot -c 8192 #启动命令相关参数书名
-d 以守护进程方式运行服务
-u 指定运行Memcached用户
-l 指定监听的服务器IP地址,可以不设置此参数
-p 指定监听的端口,默认为11211
-P 保存PID到指定文件
-m 指定可以缓存数据的最大内存,默认为64MB
-M 服务内存不够时禁止LRU,如果内存满了会报错(rather than removing items)
-L 启用大内存也,可以降低内存浪费,改进性能
-c 最大并发连接数,默认是1024
-t 线程数,默认4.由于Memcached采用的是NIO,所以太多线程作用不大
-R 每个event最大请求数,默认是20
-C 禁用CAS(可以禁止版本计数,减少开销) #关闭Memcached
单实例:ps -ef|grep memcached|grep -v grep|awk '{print $2}'|xargs kill
多实例: kill `cat /var/run/11211.pid` #启动多实例最好在启动时增加-P参数指定固定的pid文件,这样便于管理
工作中如何配置Memcached
和开发人员进行深入沟通,确定内存大小以及业务的重要性,进行决定是否采用负载均衡、集群,以及确定并发连接数等。对于运维人员,部署Memcached一般就是安装Memcached服务端,把服务启动起来,做好监控,配置好开机自启动。客户端的PHP程序一般在安装LNMP环境时都会提前安装Memcached客户端插件,Java程序环境下,开发人员会用第三方的JAR包直接连接Memcached服务。
memcahced部署的更多相关文章
- memcache和memcahced区别
在写这篇文章之前一直对memcache .memcahced模糊,相差一个字母,特此总结下: Memcache是什么? Memcache是一个自由和开放源代码.高性能.分配的内存对象缓存系统.用于加速 ...
- Nextcloud私有云盘在Centos7下的部署笔记
搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典.而Nextcloud是ownCloud原开发团队打造的号称是“下一代”存储.初一看觉得“口气”不小,刚推出来就重新“定义”了Clo ...
- 01 . Memcached简介及部署
Memcached简介 memcached是一个自由开源,高性能,分布式内存对象存储系统 基于内存的key-valued存储,用来存储小块的任意数据(字符串,对象) 他是一个简洁的key-value存 ...
- [原]CentOS7.2部署node-mapnik
转载请注明表作者think8848及出处(http://think8848.cnblogs.com) node-mapnik依赖项中要求g++ >= 5, toolchain (>= GL ...
- 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus
最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...
- 通过Jexus 部署 dotnetcore版本MusicStore 示例程序
ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示 ...
- 结合Jexus + Kestrel 部署 asp.net core 生产环境
ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依赖. 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS: ...
- 4.Windows Server2012 R2里面部署 MVC 的网站
网站部署之~Windows Server | 本地部署:http://www.cnblogs.com/dunitian/p/4822808.html#iis 后期会在博客首发更新:http://dnt ...
- Win10 IIS本地部署MVC网站时不能运行?
异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 部署后出现这个错误: 打开文件目录后发现是可以看见目录的,静态页面也是可以打开的 ...
随机推荐
- [luoguP3644] [APIO2015]八邻旁之桥(权值线段树)
传送门 首先如果起点终点都在同一侧可以直接处理,如果需要过桥答案再加1 对于k等于1的情况 桥的坐标为x的话,a和b为起点和终点坐标 $ans=\sum_{1}^{n} abs(a_{i}-x)+ab ...
- BZOJ4008 [HNOI2015]亚瑟王 【概率dp】
题目链接 BZOJ4008 题解 要求所有牌造成伤害的期望,就是求每一张牌发动的概率\(g[i]\) 我们发现一张牌能否发动,还与其前面的牌是否发动有关 那我们设\(f[i][j]\)表示前\(i\) ...
- POJ3159:Candies(差分约束)
Candies Time Limit: 1500MS Memory Limit: 131072K Total Submissions: 39666 Accepted: 11168 题目链接:h ...
- ambari server内存溢出
抛出的异常信息如下: java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Me ...
- 根据select创建input并赋值
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...
- (转)什么是JSON+如何处理JSON字符串
仍然是crifan的好文: http://www.crifan.com/summary_what_is_json_and_how_to_process_json_string/ . . . .
- css中clip:rect矩形剪裁功能
一.示例 img { position:absolute; clip:rect(30px,200px,200px,20px); } 二.理解 clip 属性剪裁绝对定位元素. clip:rect矩形剪 ...
- iOS 快速框架搭建项目
项目目录 Pod第三方 gitHub地址 https://github.com/henusjj/Basic-project-framework
- 前端面试:区分XSS和CSRF
xss:跨站点攻击.xss攻击的主要目的是想办法获取目标攻击网站的cookie,因为有了cookie相当于有了session,有了这些信息就可以在任意能接进互联网的PC登陆该网站,并以其他人的身份登陆 ...
- 【Python实例二】之前期准备:Windows下的BeautifulSoup安装
前言 一直久闻Python的爬虫很高效,而且操作便捷,因此决定开始练习爬虫的相关内容. 首先尝试的是Python的爬虫利器之一:BeautifulSoup.(这名字听起来就有种想要去探究的兴趣.... ...