发表于: 2017-09-19 23:26:52

1 747


今天完成的任务

1.XMemcached的demo
昨天在服务器上配置了Memchache的一个节点,39.108.161.180:8888
今天就用XMemcached写一个demo
要使用XMemcached需要引入依赖:
把这个demo写成一个测试类,代码如下:
因为XMemcached可能会抛出的异常比较多,可以看到代码里用到的try块比较多,暂时没想到怎么让代码看起来简洁一点..
第一次测试的时候报了一个 MemcachedException,提示没有可能连接。向师兄确认了,Memcache使用了端口,还是要在CentOS的FireWall上打开这个8888端口,另外也要设置安全组的。设置号以后可以连接到Memcache了,结果如下


2.服务器上装telnet
A.首先要检查有没有安装telnet-server和xinetd

没有响应说明没有安装

B.下载并安装

C.允许以root身份运行(没有这一步会报错)
在最后加上
pst/0

pst/1

D.设置开机自启动

E.启动服务

F.防火墙打开23端口

G.添加安全组


4.使用telnet连接、管理Memcached
然后试了一下缓存的增删改查命令,还有stats、stats slabs命令,需要留意的是退出telnet的命令:

先按 ctrl+] 然后按q退出


遇到的问题

1.Memcached的连接池是什么?

连接池指的是Memcache的节点池。


2.java可序列化类型是什么?为什么存入Memcached的数据要是可序列化类型?

A.8种基本数据类型不能被序列化,但是基本数据类型的包装类可以被序列。

B.要想使一个类的对象被序列化,那么这个类必须实现serializable接口。当这个类的实现serializable接口后,这个类的属性的数据类型会被自动封装为包装类。
C.如果不想序列化类的摸一个属性的话,可以使用 transient 关键字。
D.serialVersionUID用于标识由那个类来序列化和反序列化。这个UID于类的完全限定名(也就是包名+类名)、类的属性有关。也就是说,如果进行序列化和反序列化的类的包名、属性不一致的话,会报一个  java.io.InvalidClassException 异常
E.serialVersionUID可以被指定。必须是static、final、long型
F.为什么要进行序列化呢?我看了两篇文章(http://blog.csdn.net/leixingbang1989/article/details/50556966http://www.runoob.com/java/java-serialization.html)当前的想法是,要把这个类的对象进行持久化(这一个持久化又能牵扯其他的东西,1是原来类的对象是存在内存)中的,持久化就是把对象存在硬盘,也就是一个文件中,按照java的标准还约定是给这个文件一个 .ser 扩展名)中的时候,这个类首先要实现serializable接口。然后用ObjectOutputInstream的writeObject方法进行序列化(或者用ObjectInputInstream的readObject方法进行反序列化)。
G.按照上面的理解,序列化和反序列化需要用到的类也就只有3个:
  序列化:FileInputStream + 需要序列化类的A + ObjectOutputStream;
  反序列化:FileOutoutStream + 装反序列化结果的类A + ObjectInputStream;          

H.至于另一个问题,为什么存入Memcache的数据要是可序列化类型?是因为只有序列化的对象才能存到内存/硬盘中。


3.System.err.println是什么?

最土的理解就是,err在控制台打印的信息是红色的。


4.MemcacheClient接口文档?

实际是找到的是Xmemcached的官方文档。这里又学会找官方文档的新姿势。刚开始在百度搜索和google搜索里直接搜“XMemcached官网”没有找到结果。然后找到Maven的中心库,搜索“XMemcached”的jar包,找到下面的信息:

没想到最后“官网”在github,而且官网上面竟然提供中文的使用手册,看了中文手册,发现原来百度到的XMemcached内容大部分就是照搬官网的东西来的。看来以后要找开源软件,可以首先到github搜关键词。


收获

如上


明天的计划

尽量完成任务6


进度

步骤2

任务开始时间 2017.9.17

预计提交时间 2017.9.23

禅道 http://task.ptteng.com/zentao/project-task.html


返回列表 返回列表
评论

    分享到