【云计算】Hadoop入门之MemCached缓存实例教程
小标 2019-02-11 来源 : 阅读 750 评论 0

摘要:本文主要向大家介绍了【云计算】Hadoop入门之MemCached缓存实例教程,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】Hadoop入门之MemCached缓存实例教程,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

简介


Memcached是一个开源的,高性能的,内存分布式缓存系统。其用意是缓存结果,避免再次计算或者访问数据库,从而提高服务的效率。

Memcahced是基于内存的key-value存储,用来存储任意的小块的数据,包括序列化的对象,因为他是存储在内存中,所以访问快速,但是也决定了不可能存储太多的东西。因为他是分布式的所以可以在多台机器上配置,每一个server之间是不进行通讯的,所以不知道彼此存储的是什么东西。

而且Memcached是一种基于客户端的分布式缓存系统,意思是说它的路由算法是在客户端上,客户端来决定缓存到哪个一个服务器上。


安装与配置


Memcached 是基于libevent的所以我们要先装libevent(这个玩意是一个用C编写的高性能的通知库,具体的不用管它)。


安装libevent

首先我们先看看本地系统是不是已经自带了libevent: rpm -qa libevent,

rpm -qa 的意思查询所有rmp安装的package。

如果已经安装了那么 rpm -e xx 删掉就可以了。

如果你的Linux的系统可以联网,那么使用yum安装就可以了,

yum install libevent libevent-deve

我的机器是没有配置联网的所以我使用另外一种方式:首先下载gz包

解压到当前目录:

tar -zxvf libevent-2.0.21-stable.tar.gz


配置安装路径


./configure --prefix=/root/training/libevent


编译之后并安装


make 
make install


安装Memcached

同样,如果可以联网的话 使用yum来安装

yum install memcached


不能联网就下载tar 下载地址

同样是先tar -zxvf 解压,不在赘述。

配置安装路径,并指明libevent的安装路径。


 ./configure --prefix=/root/training/memcached --with-libevent=/root/trainging/libevent


同样编译之后安装


make 
make install


到此memcached就安装好了


memcached没有提供可视化的操作界面,但是我们可以使用telenet来连接memcached,

首先需要启动Memcached,进入Memcached的安装目录的bin目录下,列出其帮助文档:


 ./memcached -h


-d是启动一个守护进程;

-m是分配给Memcache使用的内存数量,单位是MB;

-u是运行Memcache的用户;

-l是监听的服务器IP地址,可以有多个地址;

-p是设置Memcache监听的端口,,最好是1024以上的端口;

-c是最大运行的并发连接数,默认是1024;

-P是设置保存Memcache的pid文件。


./memcached -u root -d -m 256


指定root用户启动server,内存是256M

此时可以用用ps命令查看一下memcached进程


ps -ef|grep memcached


 


Memcached的操作


首先使用telnet 连接memcached,默认端口是11211


telnet 127.0.0.1 11211


set命令,用于保存数据,将value保存到指定的key中,如果已经存在则户覆盖掉原来的

set key1 0 0 4 
abcd


set后面的第一个key1表示的是键值对中的key,

第二参数表示是一个数字标志位一般是0,

第三个是参数表示存储的时间,单位是秒,0表示永久存储

第四个参数表示的字节数byte

最后一个表示的是value



上面有个STORED表示的是保存成功,如果保存失败会出现一个ERROR。


add命令也是保存,但是如果key已经存在,则不会覆盖原来的:



可以看到如果key已经存在了,则会NOT_STORED表示保存不成功


replace替换已经存在的key的value值,如果key不存在的话,同样报NOT_STORED


replace key2 0 0 5
12345
STORED
get key2
VALUE key2 0 5
12345
END
ERROR
replace key3 0 0 5
12345
NOT_STORED


append向已经存在的key的value后面追加数据 prepend向已经存在的key的value的前面追加数据

get命令用于查找

gets命令用于查找多个key


delete删除


incr用于自增,decr用于自减


stats用于统计各种信息



简直不要太多


JAVA API连接Memcached


下载jar包的 连接。

这个JAVA API 操作很简单:


public static void main(String[] args) {
        try {
            MemcachedClient client = 
            new MemcachedClient(new InetSocketAddress("192.168.246.111", 11211));
            client.set("key3", 0, "123456778");
            System.out.println(client.get("key3"));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }


默认端口是11211,如果多个server实例的话,可以传一个InetSocketAddress的list给客户端。


先到这儿下次再介绍存储原理,和路由规则。


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程