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.pswp.cn/news/282676.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282676.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282676.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WrapPanel 實現虛擬化

WrapPanel 實現虛擬化控件名:VirtualizingWrapPanel作者:WPFDevelopersOrg原文鏈接: https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40;Visual Studio 2022;項目使用 MIT 開源許可協議;眾…

pdo連接mysql數據庫(簡潔明了)

一 實例化pdo對象 $dsn "mysql:dbnametest;host127.0.0.1"; $pdo new PDO($dsn,root,root);二 數據查詢 1、如果不根據用戶傳過來的值進行操作,可以直接query sql $dsn "mysql:dbnametest;host127.0.0.1"; $pdo new PDO($dsn,root,root); $sql &qu…

一次微信小程序的快速開發體驗

起因 事情是這樣的 一天早上組里還早激烈的討論某個項目的可用性和發展前景,突然老大說了句,能不能做個小程序的版本呢?然后大家紛紛討論起來,有反對有支持,我就說了一句,剛出來的時候搞過一會。。。然后就…

造數據時踏過的坑

1.在產生隨機數時,在數據規模很大的時候很難出現自己要的模型,比如某個條件的數據量,此時要寫一個方法,來造一批這樣的數據 2.將控制數量,文件路徑寫成配置文件的形式,以免重復打包 3.輸入輸出文件夾,可以配置以免重復打包 轉載于:https://www.cnblogs.com/rocky-AGE-24/p/7376…

如何證明 ConcurrentDictionary 字典操作不全是線程安全的

前言最近,看到一篇文章,講到《ConcurrentDictionary字典操作竟然不全是線程安全的?》。首先,這個結論是正確的,但文中給出的一個證明例子,我覺得是有問題的。相關代碼如下:using System.Collect…

微型計算機及接口技術試題,1月自考微型計算機及其接口技術試題及答案解析...

《1月自考微型計算機及其接口技術試題及答案解析》由會員分享,可在線閱讀,更多相關《1月自考微型計算機及其接口技術試題及答案解析(11頁珍藏版)》請在人人文庫網上搜索。1、精品自學考試資料推薦全國 2018年 1月自考微型計算機及其接口技術試題課程代碼…

16-djongo中間件學習

目錄 前戲 我們在前面的課程中已經學會了給視圖函數加裝飾器來判斷是用戶是否登錄,把沒有登錄的用戶請求跳轉到登錄頁面。我們通過給幾個特定視圖函數加裝飾器實現了這個需求。但是以后添加的視圖函數可能也需要加上裝飾器,這樣是不是稍微有點繁瑣。 學完…

PHP基礎(必須熟練掌握的基礎)

<?php/*** 三元運算符的應用*/ /* $a 10; $b 15; echo $a > $b ? 1 : 0; */ // 注:php7新添加的運算符比較運算符x<>y // 如果x和y相等,就返回0,如果x>y,就返回1,如果x的值小于y,就返回-1/* $a "aaa"; $b "bbb"; echo $a.$b; *//*** …

子進程無法從標準輸入讀取數據

每個process對象最多只能調用一次start()方法&#xff0c;join([timeout])方法會阻塞調用process對象的進程&#xff0c;直到timeout時間超時&#xff0c;或者process進程退出。如果timeout設置為None&#xff0c;則無超時時間。對于linux操作系統的進程管理&#xff0c;父進程…

Eclipse控制項目的訪問名稱

Eclipse控制web項目的訪問名稱 web項目的訪問路徑&#xff08;名稱&#xff09;修改 1.點擊項目右鍵-》properties找到Context root 修改成我們需要的名字即可轉載于:https://www.cnblogs.com/pypua/articles/7379950.html

計算機一級選擇題已做完確認,計算機一級選擇題(附答案)

點擊藍字關注我們(1)按照需求功能的不同&#xff0c;信息系統已形成各種層次&#xff0c;計算機應用于管理是開始于:()A)信息處理B)人事管理C)決策支持D)事務處理正確答案&#xff1a;A解析&#xff1a;計算機用于管理&#xff0c;起源于計算機在辦公應用中對大量信息、數據的處…

參加51CTO培訓,PMP考試通過啦

為什么選擇考PMP&#xff1f;先介紹下自己的情況&#xff0c;畢業三年&#xff0c;單位類似于平臺&#xff0c;不做技術&#xff0c;常態的工作是文案、商務、市場都會涉及些&#xff0c;對未來也有些迷茫。受前輩點撥可以學一些通用的技能&#xff0c;于是我選擇了PMP&#xf…

如何查看服務器并發請求連接數

https://wenku.baidu.com/view/fb553d795acfa1c7aa00cc27?pcf2#1 轉載于:https://www.cnblogs.com/linewman/p/9918760.html

C# 二十年語法變遷之 C# 5 和 C# 6參考

C# 二十年語法變遷之 C# 5 和 C# 6參考https://benbowen.blog/post/two_decades_of_csharp_ii/自從 C# 于 2000 年推出以來&#xff0c;該語言的規模已經大大增加&#xff0c;我不確定任何人是否有可能在任何時候都對每一種語言特性都有深入的了解。因此&#xff0c;我想寫一系…

非涉密計算機檢查的通知,關于開展非涉密計算機及可移動存儲介質專項清理活動的緊急通知...

關于在全校范圍內開展非涉密計算機及可移動存儲介質專項清理活動的緊急通知密辦字[2009]01號各單位&#xff1a;為有效遏制木馬病毒和惡意代碼的蔓延趨勢&#xff0c;現在校內開展一次非涉密計算機及可移動存儲介質的專項清理活動&#xff0c;要求如下&#xff1a;1、所有涉密人…

Spring Cloud構建微服務架構:服務消費(基礎)

使用LoadBalancerClient在Spring Cloud Commons中提供了大量的與服務治理相關的抽象接口&#xff0c;包括DiscoveryClient、這里我們即將介紹的LoadBalancerClient等。對于這些接口的定義我們在上一篇介紹服務注冊與發現時已經說過&#xff0c;Spring Cloud做這一層抽象&#x…

oracle數據庫中VARCHAR2(50 CHAR) 和VARCHAR2(50) 有啥區別?

VARCHAR2&#xff08;50 char&#xff09;這種類型的字段最多放50個字符&#xff0c;不夠50個用空格填充&#xff1b;而VARCHAR2(50)最大允許存放50個字符&#xff0c;但是不足50個也不用空格填充。varchar2是變長字符串&#xff0c;與CHAR類型不同&#xff0c;它不會使用空格填…

《解密小米之互聯網下的商業奇跡》

解密小米《解密小米之互聯網下的商業奇跡》 磐石之心 清華大學出版社 2014/10/1 書籍&#xff1a;《非同凡響想,喬布斯啟示錄》 磐石之心&#xff1a;原名王斌&#xff0c;互聯網IT資深預言家&#xff0c;第一個提出互聯網未來競爭是在線生活方式的競爭&#xff1b;第一個提出3…

計算機內存的故障,計算機內存出現故障的解決方法

內存如果出現故障&#xff0c;會造成系統運行不穩定、程序異常出錯和*作系統無法安裝的故障&#xff0c;下面將列舉內存常見的故障排除實例。1)內存順序引起的計算機工作不正常故障現象&#xff1a;一臺p4計算機&#xff0c;使用的是華碩intel850芯片組的主板&#xff0c;兩條r…

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 有一只經過訓練的蜜蜂只能爬向右側相鄰的蜂房&#xff0c;不能反向爬行。請編程計算蜜…