Xmemcached学习笔记一(安装memcached)

memcached有三种java客户端

  第一种:Com.danga 包下面的memcached,需引入jar(本人用的是memcached-2.5.2.jar 文末附上附件需要的可以下载)

  第二种:spyMemcached

  第三种:XMemcached 

据说第三种是使用最简单,最好用的,我也只接触并使用过第三种

首先是xmemcached安装

  1.memcached和libevent下载:
  官网:http://www.monkey.org

  2.解压安装libevent:
  $ tar zxvf libevent-1.2.tar.gz
  $ cd libevent-1.2
  $ ./configure –prefix=/usr/libevent  //这个prefix就是安装路径
  $ make
  $ make install

  3.测试libevent是否安装成功:
  # ls -al /usr/lib | grep libevent
  lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
  -rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
  -rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
  -rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
  lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
  基本上如果是这样就是安装上了,如果报错,就一定要主义文件夹的操作权限(读入权限(chmod +r libevent 加入写入权限))

  4.安装memcached,同时需要安装中指定libevent的安装位置:
  # tar zxvf memcached-1.2.0.tar.gz
  # cd memcached-1.2.0
  # ./configure –prefix=/usr/memcached –with-libevent=/usr/libevent   //同样的指定memcached的安装路径(默认的是在usr/local) 后面的指定为libevent的安装路径
  # make
  # make install

  5.测试是否成功安装memcached:
  # ls -al /usr/memcached/bin/mem*
  -rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
  -rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug

  如果这样现实,基本上就成功了

  启动服务:

  memcached -d -m 100 -u root -c 10 -p 11211 -P /tmp/memcached1.pid

  -p 指定端口号(默认11211)  
  -m 指定最大使用内存大小(默认64MB)  
  -t 线程数(默认4)  
  -l 连接的IP地址, 默认是本机  
  -d start 启动memcached服务  
  -d restart 重起memcached服务  
  -d stop|shutdown 关闭正在运行的memcached服务  
  -m 最大内存使用,单位MB。默认64MB  
  -M 内存耗尽时返回错误,而不是删除项  
  -c 最大同时连接数,默认是1024
  -f 块大小增长因子,默认是1.25
  -n 最小分配空间,key+value+flags默认是48

  后面的P用于指定访问id记录,在启动和调用memcached之后生成

  如果我们要查看是否有memcached进程:$ps -ef|grep memcached

  连接试试看:telnet 服务器ip 端口(eg:telnet 127.0.0.1 11211)

很多人自己摸索学习没有linux服务器,我自己在学习的过程种也在自己电脑(windows系统)上装了一个,所以也简单说一下windows上面的安装(其实有百度教程的):

  一:下载

  http://downloads.northscale.com/memcached-win64-1.4.4-14.zip 或 www.newasp.net/soft/63735.html

  二:安装启动

  打开cmd,找到解压的位置,输入memcached.exe -d install 安装 memcached.exe -d start启动服务,如果想启用多个服务:sc create "Memcached Server1" start= auto binPath= "D:\Memcached\memcached.exe -d runservice -m 100 -p 11210 -l 127.0.0.1" DisplayName= "Memcached Server1",注意端口号不要重复,使用的时候启动该服务,新建的服务并没有立即启动。

##########################################

好的,基本上我们就装上了memcached

写一个简单的测试类:

package com.memcached.study;
import java.io.IOException;
import java.util.concurrent.TimeoutException;

import net.rubyeye.xmemcached.MemcachedClient;
import net.rubyeye.xmemcached.MemcachedClientBuilder;
import net.rubyeye.xmemcached.XMemcachedClientBuilder;
import net.rubyeye.xmemcached.command.BinaryCommandFactory;
import net.rubyeye.xmemcached.exception.MemcachedException;
import net.rubyeye.xmemcached.utils.AddrUtil;

public class TestXMemcache
{
public static void main(String[] args) {
int[] weight={1,2};
MemcachedClientBuilder builder = new XMemcachedClientBuilder(AddrUtil

.getAddresses("127.0.0.1:11211 127.0.0.1:11210"),weight);
//宕机报警
builder.setFailureMode(true);
//使用二进制协议,默认使用的TextCommandFactory即文本协议
builder.setCommandFactory(new BinaryCommandFactory());

MemcachedClient memcachedClient;

try {

memcachedClient = builder.build();

 

memcachedClient.set("hello", 0, "Hello,xmemcached");

String value = memcachedClient.get("hello");

System.out.println("hello=" + value);

//memcachedClient.delete("hello");

memcachedClient.set("zlex", 0, "Hello,xmemcached");
value = memcachedClient.get("zlex");

System.out.println("zlex=" + value);

// close memcached client

memcachedClient.shutdown();

} catch (MemcachedException e) {

System.err.println("MemcachedClient operation fail");

e.printStackTrace();

} catch (TimeoutException e) {

System.err.println("MemcachedClient operation timeout");

e.printStackTrace();

} catch (InterruptedException e) {

// ignore

}catch (IOException e) {

System.err.println("Shutdown MemcachedClient fail");

e.printStackTrace();

}

}
}

###忘了说,需要的ja包

然后我们通过telnet连接到memcached里面去看一下

果然有了,没毛病。

 

 

  

转载于:https://www.cnblogs.com/tqi8389/p/7376628.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WrapPanel 实现虚拟化

WrapPanel 实现虚拟化控件名:VirtualizingWrapPanel作者:WPFDevelopersOrg原文链接: https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40;Visual Studio 2022;项目使用 MIT 开源许可协议;众…

如何证明 ConcurrentDictionary 字典操作不全是线程安全的

前言最近,看到一篇文章,讲到《ConcurrentDictionary字典操作竟然不全是线程安全的?》。首先,这个结论是正确的,但文中给出的一个证明例子,我觉得是有问题的。相关代码如下:using System.Collect…

16-djongo中间件学习

目录 前戏 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐。 学完…

Eclipse控制项目的访问名称

Eclipse控制web项目的访问名称 web项目的访问路径(名称)修改 1.点击项目右键-》properties找到Context root 修改成我们需要的名字即可转载于:https://www.cnblogs.com/pypua/articles/7379950.html

计算机一级选择题已做完确认,计算机一级选择题(附答案)

点击蓝字关注我们(1)按照需求功能的不同,信息系统已形成各种层次,计算机应用于管理是开始于:()A)信息处理B)人事管理C)决策支持D)事务处理正确答案:A解析:计算机用于管理,起源于计算机在办公应用中对大量信息、数据的处…

参加51CTO培训,PMP考试通过啦

为什么选择考PMP?先介绍下自己的情况,毕业三年,单位类似于平台,不做技术,常态的工作是文案、商务、市场都会涉及些,对未来也有些迷茫。受前辈点拨可以学一些通用的技能,于是我选择了PMP&#xf…

非涉密计算机检查的通知,关于开展非涉密计算机及可移动存储介质专项清理活动的紧急通知...

关于在全校范围内开展非涉密计算机及可移动存储介质专项清理活动的紧急通知密办字[2009]01号各单位:为有效遏制木马病毒和恶意代码的蔓延趋势,现在校内开展一次非涉密计算机及可移动存储介质的专项清理活动,要求如下:1、所有涉密人…

2018暑假集训---递推递归----一只小蜜蜂hdu2044

一只小蜜蜂... Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 93249 Accepted Submission(s): 33187Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜…

《ASP.NET Core 6框架揭秘》实例演示[28]:自定义一个服务器

作为ASP.NET Core请求处理管道的“龙头”的服务器负责监听和接收请求并最终完成对请求的响应。它将原始的请求上下文描述为相应的特性(Feature),并以此将HttpContext上下文创建出来,中间件针对HttpContext上下文的所有操作将借助于…

win7服务器端口被占用,高手亲自帮您win7端口被占用的详尽处理要领

今天有一位用户说他安装了win7系统以后,在使用中突然遇到了win7端口被占用的情况,估计还会有更多的网友以后也会遇到win7端口被占用的问题,所以今天我们先来分析分析,那我们要怎么面对这个win7端口被占用的问题呢?大家…

回车ajax显示,ajax返回值中有回车换行、空格的解决方法分享

最近在写一个页面,用jquery ajax来实现判断,刚写好测试完全没有问题,过了两天发现出现问题,判断不成了。后来发现所有alert出来的返回值前面都会加若干换行和空格。(至今不明白,同一台电脑,同样的环境&…

PHP插入排序

本意是想研究一下希尔排序的,因为希尔排序和快速排序没有争议的是排序最快的两种算法,但无奈希尔排序是以插入排序为基础的,所以只得先研究一下插入排序. 插入排序基本思想: 插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小…

使用Stepping.NET轻松执行多步原子操作

Stepping 是一个基于 BASE 的分布式作业实现。它可以作为工作流引擎,事件收/发件箱,用于邮箱/短信发送,用于远程接口调用等场景。Stepping 中 Job 和 Step 是什么?Job 是一个分布式事务单元,而 Step 是 job 中一个特定的任务。一…

JSP+JavaBean+Servlet技术(MVC模型)

一,Servlet开发用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求。服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应。浏览器收到回应,再把回应的内容显示出来。这种请求—响应模式就是…

bzoj2721 [Violet 5]樱花

分析:这道题对于我这种蒟蒻来说还是很有难度啊。 思路非常巧妙,既然不定方程要有有限个数解,那么这个肯定会对解有所限制,也就是本题中的正整数.这个时候我们要表示出方程中的一个根x,设z n!,那么xyz/(y-z),这样的话不能得到答案…

ipados 文件 连接服务器,iPadOS更新指南,总有一个功能是你需要的

近期,苹果向部分ipad用户推送了iPadOS系统,据系统介绍,这是一款强大的操作系统,更能体现iPad的独特之处。iPadOS与IOS同源,针对iPad的大显示屏和多功能增加了全新和直观的强大功能。刚才小编给大家提到了部分iPad用户&…

Angular 2.x 从0到1 (五)史上最简单的Angular2教程

第一节:Angular 2.0 从0到1 (一)第二节:Angular 2.0 从0到1 (二)第三节:Angular 2.0 从0到1 (三)第四节:Angular 2.0 从0到1 (四)第五…

ajax 分页 评论刷新,评论:js无刷新分页(原创)

繁华落尽02020/4/28 0:26:00大佬,教一下怎么用,以前我是直接在按钮上绑个路径。首页上一页${i}${i}下一页尾页漫走32020/4/28 20:43:32后台的方法需要的参数:当前页、每页显示条数,插件都给你控制好了,你直接用就行。e…

设计模式——享元模式具体解释

0. 前言写在最前面,本人的设计模式类博文,建议先看博文前半部分的理论介绍。再看后半部分的实例分析。最后再返回来复习一遍理论介绍,这时候你就会发现我在重点处标红的用心,对于帮助你理解设计模式有奇效哦~本文原创。转载请注明…

OpenStack Nova计算服务管理(四)

作者:李晓辉联系方式: Xiaohui_lifoxmail.com环境介绍类型控制节点和计算节点等在一起,形成all-in-one内存8G硬盘200G网卡2块计算服务概览使用OpenStack计算服务来托管和管理云计算系统。OpenStack计算服务是基础设施即服务(IaaS)系统的主要部分&#xf…