分布式缓存技术memcached学习系列(一)——linux环境下编译memcahed
安装依赖工具
[root@localhost upload]# yum install gcc make cmake autoconf libtool
下载并上传文件
memcached 依赖于 libevent 库,因此我们需要先安装 libevent.,ibevent和memcached的下载路径
http://sourceforge.net/projects/levent/?source=typ_redirect
https://github.com/memcached/memcached/wiki/ReleaseNotes1425
[root@localhost upload]# ls
libevent-2.0.22-stable libevent-2.0.22-stable.tar.gz memcached-1.4.25.tar.gz
[root@localhost upload]#
解压编译
[root@localhost upload]#tar zxvf libevent-2.0.21-stable.tar.gz
[root@localhost upload]# cd libevent-2.0.22-stable
[root@localhost upload]#./configure --prefix=/usr/local/libevent
[root@localhost upload]#make && make install
[root@localhost upload]# tar zxvf memcached-1.4.25.tar.gz
[root@localhost upload]# cd memcached-1.4.25
[root@localhost upload]# ./configure --prefix=/usr/local/memcached
报错:
checking for libevent directory... configure: error: libevent is required. You can get it from http://www.monkey.org/~provos/libevent/
If it's already installed, specify its path using --with-libevent=/dir/
提示需要libevent,需要指明libevent的安装目录
[root@localhost upload]#
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
[root@localhost memcached-1.4.25]# make && make install
没什么错误提示的话,编译成功。
Memcached已经成功安装到/usr/local/memcached/bin/memcached目录下。
启动memcached
[root@localhost memcached-1.4.25]# /usr/local/memcached/bin/memcached -m 64 -p 11211 -u nobody -vv
slab class 1: chunk size 80 perslab 13107
slab class 2: chunk size 104 perslab 10082
slab class 3: chunk size 136 perslab 7710
slab class 4: chunk size 176 perslab 5957
slab class 5: chunk size 224 perslab 4681
slab class 6: chunk size 280 perslab 3744
slab class 7: chunk size 352 perslab 2978
......
可以看到memcached已经启动,并把信息输出到控制台。
各个参数解析:
-m 内存大小
-p 端口
-u 用户
-vv 详细信息
如果我们想让memcached作为守护进程在后台运行,只需要加-d选项
[root@localhost memcached-1.4.25]#/usr/local/memcached/bin/memcached
-p 11211 -u nobody -d
几个重要参数
摘自网上的几个重要参数
-p <num> 监听的TCP端口(默认: 11211)
-d 作为守护进程来运行。
-u <username> 设定进程所属用户。(只有root用户可以使用这个参数)
-m <num> 所有slab class可用内存的上限,以MB为单位。(默认:64MB)
(译者注:也就是分配给该memcached实例的内存大小。)
-c <num> 最大并发连接数。(默认:1024)
-v 提示信息(在事件循环中打印错误/警告信息。)
-vv 详细信息(还打印客户端命令/响应)
-vvv 超详细信息(还打印内部状态的变化)
-h 打印这个帮助信息并退出。
-f <factor> 不同slab class里面的chunk大小的增长倍率(增长因子)。(默认:1.25)
(译者注:每个slab class里面有相同数量个slab page,每个slab page里面有chunk,且在当前slab class内的chunk大小固定。
而不同slab class里的chunk大小不一致,具体差异就是根据这个参数的倍率在增长,直到分配的内存用尽。)
-n <bytes> chunk的最小空间(默认:48)
(译者注:chunk数据结构本身需要消耗48个字节,所以一个chunk实际消耗的内存是n+48。)
下面我们将介绍memcached的连接。
安装telnet工具
memcached客户端与服务器端的通信比较简单,使用的基于文本的协议,而不是二进制协议.
(http协议也是这样), 因此我们通过telnet即可与memcached作交互
[root@localhost libevent-2.0.22-stable]# yum install telnet*
linux连接memcached
[root@localhost libevent-2.0.22-stable]# telnet 192.168.1.112 11211
Trying 192.168.1.112...
Connected to 192.168.1.112.
Escape character is '^]'.
按下Ctrl + ] 打开回显功能,Enter即可.如下:
[root@localhost libevent-2.0.22-stable]# telnet 192.168.1.112 11211
Trying 192.168.1.112...
Connected to 192.168.1.112.
Escape character is '^]'.
^]
telnet>
可以看到memcached控制台输出了客户端连接的信息
<34 server listening (udp)
<35 server listening (udp)
<36 new auto-negotiating client connection
windows连接memcached
端口的访问权限,如下
[root@localhost libevent-2.0.22-stable]# /sbin/iptables -I INPUT -p tcp --dport 11211 -j ACCEPT
同样,在windows的控制台输入telnet 192.168.1.112 11211即可连接。
分布式缓存技术memcached学习系列(一)——linux环境下编译memcahed的更多相关文章
- 分布式缓存技术memcached学习系列(二)——memcached基础命令
上文<linux环境下编译memcahed>介绍了memcahed在linux环境下的安装以及登录,下面介绍memcahed的基本命令的使用. Add 功能:往内存增加一条新的缓存记录 语 ...
- 分布式缓存技术memcached学习系列(五)—— memcached java客户端的使用
Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...
- 分布式缓存技术memcached学习系列(四)—— 一致性hash算法原理
分布式一致性hash算法简介 当你看到"分布式一致性hash算法"这个词时,第一时间可能会问,什么是分布式,什么是一致性,hash又是什么.在分析分布式一致性hash算法原理之前, ...
- 分布式缓存技术memcached学习系列(三)——memcached内存管理机制
几个重要概念 Slab memcached通过slab机制进行内存的分配和回收,slab是一个内存块,它是memcached一次申请内存的最小单位,.在启动memcached的时候一般会使用参数-m指 ...
- 分布式缓存技术redis学习系列
分布式缓存技术redis学习系列(一)--redis简介以及linux上的安装以及操作redis问题整理 分布式缓存技术redis学习系列(二)--详细讲解redis数据结构(内存模型)以及常用命令 ...
- 分布式缓存技术memcached学习(二)——memcached基础命令
上文<linux环境下编译memcahed>介绍了memcahed在linux环境下的安装以及登录,下面介绍memcahed的基本命令的使用. Add 功能:往内存增加一条新的缓存记录 语 ...
- 分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装
redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...
- 分布式缓存技术redis学习系列(五)——redis实战(redis与spring整合,分布式锁实现)
本文是redis学习系列的第五篇,点击下面链接可回看系列文章 <redis简介以及linux上的安装> <详细讲解redis数据结构(内存模型)以及常用命令> <redi ...
- 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...
随机推荐
- 对react vd 性能的理解
相信大家都知道react vd的性能是很好的,速度挺快的,真实dom操作很慢的,但是结果完全相反: 后来我就做了个测试,从两个方面去测试,在页面初始渲染1w条数据,react渲染耗时超过了1秒 在12 ...
- simotion ST编程,变量和程序的模块化
通过这几年的实践,对simotion的程序结构规划有了一些新的理解.工程师在面对项目时,经常有几个问题比较困惑. 目前面对的问题 1)如何理解其他人编写的程序 2)如何从程序中找到可以移植的部分 传统 ...
- 腾讯云“动态加速”与“CDN”的区别——浅谈对“动态加速”的理解(可能有误)
CDN的劣势及“动态加速”产生背景 通常CDN对静态内容支持较好,若使用其加速动态内容,可能会导致异常(如导致无法登录).当然,可以将动态内容的在CDN节点上的缓存时间设置为0秒来解决.但这毕竟是用户 ...
- 四大CPU体系结构ARM、X86/Atom、MIPS、PowerPC
http://blog.csdn.net/wangjianno2/article/details/52140936 RISC(reduced instruction set computer,精简指令 ...
- 【BZOJ3506】[CQOI2014] 排序机械臂(Splay)
点此看题面 大致题意: 给你\(n\)个数.第一次找到最小值所在位置\(P_1\),翻转\([1,P_1]\),第二次找到剩余数中最小值所在位置\(P_2\),翻转\([2,P_2]\),以此类推.求 ...
- 用dynamic的方式来转换Json对象
来自这里:http://stackoverflow.com/questions/3142495/deserialize-json-into-c-sharp-dynamic-object If you ...
- first 和firstordefault的用法 简介
https://www.cnblogs.com/1312mn/p/9212325.html
- node.js 练习1
1.利用editplus 创建 n1.js 文件 2.输入代码 3.打开cmd 输入 node n1.js 4.打开浏览器 输入 localhost:8000 5.再次回看 cmd
- numpy 矩阵运算
8.2 矩阵(Matrix)对象 Matrix类型继承于ndarray类型,因此含有ndarray的所有数据属性和方法.Matrix类型与ndarray类型有六个重要的不同点,当你当Matrix对象当 ...
- JS获取页面传过来的值
利用JS获取页面的传值,此方法只适应Get传值. 获取页面之间的传值,在后台我们很容易获取,那我们在前台只利用JS怎么写呢? 在看代码之前你需要了解的 ① 参考:W3C Location 对象 Loc ...