基于linux操作系统安装、使用memcached详解
1.memcached的应用背景及作用
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。MEMCACHE与其他应用配合使用。应用会调用MEMCACHE的接口,将需要缓存的数据存放到内存中专门为MEMCACHE开辟的一块空间。
2.安装准备
主要是安装memcache服务器端,生产上安装的版本是 memcached-1.2.6
下载地址:http://code.google.com/p/memcached/downloads/detail?name=memcached-1.2.6.tar.gz&can=1&q=
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,生产上安装的libevent的版本是 libevent-1.1a。(如果你的系统已经安装了libevent,可以不用安装)
官网:http://www.monkey.org/~provos/libevent/
下载:http://www.monkey.org/~provos/libevent-1.1a.tar.gz
3安装
本次实验测试服务器为:10.10.41.22。操作系统版本信息如下(双击可编辑):
3.1 LibEvent安装
配置时需要指定一个安装路径(红色部分):
测试libevent是否安装成功(如下所示代表成功,红色部分为libevent安装路径下的lib目录):
3.2 Memcache安装
安装memcached,同时需要安装中指定libevent的安装位置(蓝色部分):
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。安装完成后会把memcached放到红色部分所示位置
测试memcached是否安装成功(如下代表安装成功):
4 配置
Memcache常见的参数配置信息可以在启动服务时通过脚本传入参数设定。注意:Memcache服务本身没有运行日志。
4.1 启动服务
示例:
参数说明:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,此处设置为100MB,
-u是运行Memcache的用户,此处设置为root,
-l是监听的服务器IP地址,如果有多个地址的话,此处设置为应用所在服务器的IP地址10.10.41.22,
-p是设置Memcache监听的端口,此处设置为6577,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,此处设置为256,
-P是设置保存Memcache的pid文件,此处设置为保存在 /tmp/memcached.pid,
4.2 停止服务
Memcache自带脚本中没有停止服务的参数,可以自行编写简单脚本。如下为两个示例:
1) 直接使用”ps”命令
2) 根据启动时所设置的、保存pid的文件
5 使用示例
测试时可以使用现有的SOA服务器进行验证。
SOA服务器部署路径:/root/zyn/plat2-soa-busi
SOA服务器memcache配置文件:/root/zyn/plat2-soa-busi/v2/app/bin/memcached.properties。
1) 具体设置如下:
2) 验证MEMCACHE是否启动
由于MEMCACHE自身没有运行日志,查看MEMCACHE是否启动,只能通过查看进程是否存在的方式。
3) 验证应用端MEMCACHE配置是否成功
对于MEMCACHE是否配置成功的验证,则需要根据具体应用来判断。
例如本例中的SOA应用,在配置了MEMCACHEh后:如果MEMCACHE没有启动,SOA也可以正常启动;只有在具体交易时,如果MEMCACHE服务状态异常,SOA中才会报错。
6 卸载
Libevent和memcache的卸载,与普通软件一样,使用”make uninstall”命令或手工删除。
7 安装常见错误
7.1 /lib/libevent-1.1a.so.1的错误
错误信息:error while loading shared libraries: libevent-1.1a.so.1: cannot open shared object file: No such file or directory
错误原因:找不到libevent-1.1a.so.1,会导致在启动memcache时报如上错误。解决办法
7.2 未安装libevent的错误
错误信息:checking host system type… Invalid configuration `x86_64-unknown-linux-gnu’: machine `x86_64-unknown’ not recognized
错误原因:如果没有安装libevent,在memcache中执行configure操作的时候会报如上错误
基于linux操作系统安装、使用memcached详解的更多相关文章
- 基于linux操作系统安装、使用redis详解
服务端安装 Redis的官方下载站是http://redis.io/download,可以去上面下载最新的安装程序下来,我写此文章时的的稳定版本是2.6.11. 步骤一: 下载Redis 进入软件安装 ...
- 【转】在VMware中为Linux系统安装VM-Tools的详解教程
在VMware中为Linux系统安装VM-Tools的详解教程 如果大家打算在VMware虚拟机中安装Linux的话,那么在完成Linux的安装后,如果没有安装Vm-Tools的话,一部分功能将得不到 ...
- 【山外笔记-数据库】Memcached详解教程
本文打印版文档下载地址 [山外笔记-数据库]Memcached详解教程-打印版.pdf 一.Memcached数据库概述 1.Memcached简介 (1)Memcached是一个自由开源的,高性能, ...
- Linux文件权限与属性详解 之 ACL
Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...
- Linux内存管理之mmap详解
转发之:http://blog.chinaunix.net/uid-26669729-id-3077015.html Linux内存管理之mmap详解 一. mmap系统调用 1. mmap系统调用 ...
- Linux驱动开发必看详解神秘内核(完全转载)
Linux驱动开发必看详解神秘内核 完全转载-链接:http://blog.chinaunix.net/uid-21356596-id-1827434.html IT168 技术文档]在开始步入L ...
- Linux双网卡绑定bond详解--单网卡绑定多个IP
Linux双网卡绑定bond详解 1 什么是bond 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术.Kernels 2.4.12及 ...
- Linux自带神器logrotate详解
Linux自带神器logrotate详解 散尽浮华 运维 3天前 作者:散尽浮华 链接:https://www.cnblogs.com/kevingrace/p/6307298.html 对于 L ...
- Linux上的free命令详解、swap机制
Linux上的free命令详解 解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free ...
随机推荐
- 面试-Spring理解
转自http://hui.sohu.com/infonews/article/6331404387079946240 spring呢,是pivotal公司维护的一系列开源工具的总称,最为人所知的是sp ...
- 【模板时间】◆模板·III◆ 单调子序列
◆模板·III◆ 单调子序列 以前只知道DP用 O(n2) 的做法,现在才发现求单调子序列方法好多…… ◇ 模板简述 单调子序列包括 升序/降序/非升序/非降序 子序列.主要题型如下: ①在原串中找到 ...
- Ubuntu安装MySQL及使用Xshell连接MySQL出现的问题(2003-Can't connect to MySql server及1045错误)
不管在什么地方,什么时候,学习是快速提升自己的能力的一种体现!!!!!!!!!!! 以下所有的命令都是在root用户下操作(如果还没有设置root密码)如下: 安装好Ubuntu系统之后,打开终端先设 ...
- pycharm界面美化,个人喜欢
进入file-setting选项 界面设置主要是在appearance和editor里面.appearance主要是整个pycharm的主题设置,比如文件管理窗口的颜色,其实就是软件本身的主题设置.我 ...
- 在Ubuntu下安装gcc编译器+测试
1.输入命令: sudo apt-get install gcc libc6-dev 2.创建文件hello.c使用命令: touch hello.c 3.在hello.c中写入: #include ...
- idea debug启动项目慢或者启动不了
使用debug无法启动项目但是使用run就可以启动程序,而且启动比以前的debug模式快的多 原因: 启动不了的原因是在项目中的方法上打了断点,导致项目无法继续编译 取消方法断点就可以了 在idea官 ...
- Docker使用入门
docker images 查看本地镜像 docker ps -a 查询容器 docker ps -l 查询最近使用容器 docker rm CONTAINER_ID 删除容器 docker rm ...
- dfs序线段树
dfs序+线段树,啥?如果在一棵树上,需要你修改一些节点和查询一些节点,如果直接dfs搜的话肯定超时,那用线段树?树结构不是区间啊,怎么用?用dfs序将树结构转化为一个区间,就能用线段树进行维护了. ...
- 5 Django-1的路由层(URLconf)
URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码 ...
- 3714: [PA2014]Kuglarz
3714: [PA2014]Kuglarz 链接 思路: 好题.对于每个点都需要确定它的值,那么一个点可以直接询问[i,i]来确定,或者已经知道了[i,j]和[i+1,j]推出来. 但是可能产生冲突, ...