博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分布式缓存技术memcached学习(一)——linux环境下编译memcahed
阅读量:4561 次
发布时间:2019-06-08

本文共 3908 字,大约阅读时间需要 13 分钟。

安装依赖工具

[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]# lslibevent-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 -vvslab class   1: chunk size        80 perslab   13107slab class   2: chunk size       104 perslab   10082slab class   3: chunk size       136 perslab    7710slab class   4: chunk size       176 perslab    5957slab class   5: chunk size       224 perslab    4681slab class   6: chunk size       280 perslab    3744slab 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 -m 64 -p 11211 -u nobody -d

几个重要参数

摘自网上的几个重要参数

-p 
监听的TCP端口(默认: 11211) -d 作为守护进程来运行。 -u
设定进程所属用户。(只有root用户可以使用这个参数) -m
所有slab class可用内存的上限,以MB为单位。(默认:64MB) (译者注:也就是分配给该memcached实例的内存大小。) -c
最大并发连接数。(默认:1024) -v 提示信息(在事件循环中打印错误/警告信息。) -vv 详细信息(还打印客户端命令/响应) -vvv 超详细信息(还打印内部状态的变化) -h 打印这个帮助信息并退出。 -f
不同slab class里面的chunk大小的增长倍率(增长因子)。(默认:1.25) (译者注:每个slab class里面有相同数量个slab page,每个slab page里面有chunk,且在当前slab class内的chunk大小固定。 而不同slab class里的chunk大小不一致,具体差异就是根据这个参数的倍率在增长,直到分配的内存用尽。) -n
chunk的最小空间(默认:48) (译者注:chunk数据结构本身需要消耗48个字节,所以一个chunk实际消耗的内存是n+48。)

下面我们将介绍memcached的连接

安装telnet工具

memcached客户端与服务器端的通信比较简单,使用的基于文本的协议,而不是二进制协议.

(http协议也是这样), 因此我们通过telnet即可与memcached作交互

[root@localhost libevent-2.0.22-stable]# yum install telnet*

这里补充下 检查自己系统是否已经安装了telnet工具请移步我另外一篇博客 http://www.cnblogs.com/shanheyongmu/p/6269414.html

 

linux连接memcached (温馨提示linux 直接ifconfig 填写自己的内网IP)

[root@localhost libevent-2.0.22-stable]# telnet 192.168.1.112 11211Trying 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 11211Trying 192.168.1.112...Connected to 192.168.1.112.Escape character is '^]'.^]telnet>

到了这一步基本上第二篇的命令输入 界面就已经到达了 至于原文说的 connection如下的我并没有显示。

<34 server listening (udp)

<35 server listening (udp)

<36 new auto-negotiating client connection

windows连接memcached

如果从windows的控制台连接到linux中的memcached,需要打开linux 的 11211端口的访问权限,如下

 

[root@localhost libevent-2.0.22-stable]# /sbin/iptables -I INPUT -p tcp --dport 11211 -j ACCEPT

 

需要注意的是 windows cmd命令连接需要用外网 我看到很多文章都是填写内网

还有就是 很多人到这一步以为自己 可以了就开始输入命令 其实 ctrl+]了没有enter回车 

同样,在windows的控制台输入telnet 112.74.178.181 11211即可连接。(公网IP)

正确界面如下

 linux用的是内网

转载于:https://www.cnblogs.com/shanheyongmu/p/6276837.html

你可能感兴趣的文章
Kitematic when login show Error:Tunning socket could not be established
查看>>
java应用系统运行速度慢的解决方法
查看>>
什么是反射?反射有什么用处
查看>>
数据库索引(BTree索引和Hash索引)
查看>>
python多线程详解
查看>>
Oracle数据库ORA-12154: TNS: 无法解析指定的连接标识符
查看>>
使用python的列表解析以及函数式计算来简化代码
查看>>
Html5使用history对象history.pushState()和history.replaceState()方法添加和修改浏览历史记录...
查看>>
jQuery 跨域访问问题解决方法
查看>>
谨慎能捕千秋蝉(一)——XSS
查看>>
Spring、SpringMVC、Spring Boot、Spring Cloud 概念、关系及区别
查看>>
iOS effect & swiper delete components
查看>>
CSS3 & Grid Layout All In One
查看>>
《机器学习实战》学习笔记第四章 —— 朴素贝叶斯法
查看>>
承接上篇scanf函数何时取&问题
查看>>
python笔记 - day4-之装饰器
查看>>
HttpWebResponse远程服务器返回错误: (500) 内部服务器错误
查看>>
关于.net MVC5+EF6 网站部署的问题
查看>>
异常 : identifier of an instance of com.mi.domain.Department was altered from 2 to 1
查看>>
实现托管代码调用非托管代码以及非托管代码调用托管代码->COM Interop
查看>>