分布式缓存技术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 -m 64 -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*
这里补充下 检查自己系统是否已经安装了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 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>
到了这一步基本上第二篇的命令输入 界面就已经到达了 至于原文说的 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用的是内网
分布式缓存技术memcached学习(一)——linux环境下编译memcahed相关推荐
- memcached java 客户端优化,分布式缓存技术memcached学习系列(五)—— memcached java客户端的使用...
Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...
- 分布式缓存技术memcached学习系列(五)—— memcached java客户端的使用
Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...
- NDK实践(一)在linux环境下编译ffmpe
系列文章目录: NDK实践(一)在linux环境下编译ffmpe NDK实践(二)将编译的ffmpeg静态库集成到Android工程 最近开始接触学习ndk开发,本着边学习边实践的原则,计划完成视频编 ...
- Linux环境下编译并执行ava helloworld程序
http://blog.lupaworld.com/home-space-uid-24466-do-blog-id-2578.html 已经学会怎样在Windows下怎样编辑,编译和运行Java程序了 ...
- linux环境下编译部署php生产环境
linux环境下编译部署php生产环境 版本控制 php:7.2.4 nginx:1.9.9 部分插件版本 xlswriter:1.3.3.2 redis:3.1.3 一.安装php 1.安装依赖(之 ...
- 【 Linux学习】Linux环境下利用OpenSSL对大文件进行AES加解密
一.背景 之前的几篇博客已经介绍了Gitlab如何备份恢复与迁移已经脚本监控过程等. git学习--> Gitlab如何进行备份恢复与迁移? http://blog.csdn.net/ouyan ...
- linux编译ice,linux环境下编译安装ICE
前面我们讲过了在linux环境下通过rpm的方式来安装ICE,这种安装方式可以是比较简单的,自己在安装过程中发现后面PHP无法装在IcePHP.sp模块,也有可能自己在安装过程中某个地方出错了.又尝试 ...
- 在虚拟机linux环境下编译windows版adb fastboot
原文出自:http://blog.chinaunix.net/uid-20546441-id-1746200.html 我根据虚拟机编译遇到的问题进行一些添加 [前提条件] Linux Android ...
- 安卓和Linux动态库一样吗,在Linux环境下编译Android下的最新版ffmpeg+x264单个动态库(.so)...
最近在mac下用ndk交叉编译最ffmpeg出问题,总是显示用系统的gcc而不是ndk的toolchain的交叉编译gcc来编译的.之前明明没问题的,可能是由于最近升级macOS导致的.由于对这方面实 ...
最新文章
- 超越英伟达的,不会是另一款GPU!中国公司发布首款数据流AI芯片
- ECMAScript 6中的let和const关键词
- C#线程安全的那些事
- 雷军和董明珠“十亿赌局”胜负已定:小米格力营收差距依然很大
- left join 大表放前面_带娃时,走在孩子前面与跟在孩子身后区别很大,很多父母都做错了...
- 简介JavaScript的组成
- mac安装mysql mysql命令找不到_Mac系统下安装mysql数据库和使用phpMyAdmin可视化
- Android项目重构之路:界面篇
- Atitit MATLAB 图像处理 经典书籍attilax总结
- 3D纹理贴图制软件The Foundry Mari for Mac
- 手把手教如何制作数字证书并进行程序的数字签名
- java项目实现ldap认证
- python统计中文字数_使用Python计算.pdf文档中的总字数
- 流水线上的农民:我在工厂种蔬菜
- Photoshop创意设计手法14点(转)
- NOSql数据库的优缺点分析
- CSDN博客上传的图片水印去除
- Warning[Pe069]: integer conversion resulted in truncation
- tomcat的下载和启动
- 第16节 调试-粒子系统放在地球上,不见了