电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java中Memcached的使用實例(包括與Spring整合)

瀏覽:4日期:2022-08-09 10:15:25
一、什么是Memcached?

Memcached是danga.com開發的分布式內存對象緩存系統,所謂分布式,意味著它不是本地的,而是基于網絡連接完成服務。Memcached把一些數據通過key=value數據存儲到內存中,這樣訪問更加方便快捷。

但是隨之而來的問題是如果Memcached關閉或者Memcached的服務器關閉那么所保存的內容也就沒有了。

二、安裝Memcached服務端

我是在Win下做的實驗。

首先下載Win下的Memcached,解壓到指定目錄。

memcached.exe -d install 安裝memcached服務

然后通過Memcached start memcached就啟動了。

常用命令:

-p 監聽的端口

-l 連接的IP地址, 默認是本機

-d start 啟動memcached服務

-d restart 重起memcached服務

-d stop|shutdown 關閉正在運行的memcached服務

-d install 安裝memcached服務

-d uninstall 卸載memcached服務

-u 以的身份運行 (僅在以root運行的時候有效)

-m 最大內存使用,單位MB。默認64MB

-M 內存耗盡時返回錯誤,而不是刪除項

-c 最大同時連接數,默認是1024

-f 塊大小增長因子,默認是1.25

-n 最小分配空間,key+value+flags默認是48

-h 顯示幫助

三、java下使用Memcached(java客戶端程序)

目前常用客戶端有三種,我使用的是java_memcached-release_2.6.6,該系列是最早推出也應用最為廣泛的客戶端。

所需全部的jar:

commons-pool-1.5.6.jar

java_memcached-release_2.6.6.jar

slf4j-api-1.6.1.jar

slf4j-simple-1.6.1.jar

1、基本使用:

@Test public void show(){MemCachedClient client=new MemCachedClient();//使用的服務器,由于是在本地測試,只有一個服務器地址。默認端口是11211//格式為 服務器IP:端口號String [] addr={'127.0.0.1:11211'};/** * 設置權重,與設定的服務器一一對應 */Integer[] weight={3};//建立通信的連接池SockIOPool pool=SockIOPool.getInstance();//設置連接池可用cache服務器列表,服務器構成形式:ip地址+端口號pool.setServers(addr);//設置連接池可用cache服務器的權重,和server數組的位置一一對應pool.setWeights(weight);//設置初始連接數pool.setInitConn(5);//設置最小連接數pool.setMinConn(5);//設置最大連接數pool.setMaxConn(200);//設置可用連接的最長等待時間pool.setMaxIdle(1000*30*30);//設置連接池維護線程的睡眠時間,設置為0,維護線程不啟動pool.setMaintSleep(30);//設置Nagle算法,設置為false,因為通訊數據量比較大要求相應及時pool.setNagle(false);//設置socket讀取等待超時時間pool.setSocketTO(30);//設置連接等待超時值pool.setSocketConnectTO(0);//設置完參數后,啟動poolpool.initialize();client.set('value','Ok');String value= (String) client.get('value'); //設置定時時間2s后消失client.set('value1','OK2',new Date(2000));String value2= (String) client.get('value1');System.out.println(value);System.out.println(value2); }2、spring整合memcached

<bean class='org.springframework.beans.factory.config.PropertyPlaceholderConfigurer'><property name='locations'> <list><value>classpath:property/memcached.properties</value> </list></property> </bean> <!--spring整合memched--> <bean factory-method='getInstance' init-method='initialize' destroy-method='shutDown'><property name='servers'> <list><value>${memcached.server}</value> </list></property><property name='maxConn' value='${memcached.maxConn}'></property><property name='maintSleep' value='${memcached.maniSleep}'></property><property name='nagle' value='${memcached.nagle}'></property><property name='socketTO' value='${memcached.socketTO}'></property> </bean>

properties配置文件:

#服務器地址memcached.server=127.0.0.1:11211#初始連接數目memcached.initConn=20#每個服務器建立最大連接數memcached.maxConn=50#自查線程周期工作,其每次休眠時間memcached.maniSleep=3000#是否使用nagle算法(Socket參數,如果是true,寫數據不緩沖,直接發送)memcached.nagle=false#Socket阻塞讀取數據的超時時間memcached.socketTO=3000

測試:

@RunWith(SpringJUnit4ClassRunner.class)//表示整合JUnit進行測試@ContextConfiguration(locations ={'classpath:applicationContext.xml'})public class SpringTest { @Test public void test1(){MemCachedClient memCachedClient=new MemCachedClient();memCachedClient.set('username','luck');String value= (String) memCachedClient.get('username');System.out.println(value); }}四、個人學習中遇到的問題:

我們通過客戶端添加與獲得數據,那么這個客戶端如何與pool聯系的,通過別人的博客找到答案。

客戶端是通過pool的name關聯到某個pool上的。

客戶端與Pool都沒有指定名稱的時候,默認是創建名稱為“default”的pool,客戶端與它關聯。

如果pool設置了名字,那么客戶也要指定名稱。

Memcached結合java基本操作

//創建MemcachedClient 連接memcached服務器端MemcachedClient mClient = new MemcachedClient(new InetSocketAddress('127.0.0.1', 11211));System.out.println('連接memcached成功..........');//存儲數據,key-ruo,value-888,時間是1000秒Future future = mClient.set('ruo', 1000, '888');System.out.println('查看ruo的存儲狀態:'+future.get()+',存儲的值:'+mClient.get('ruo'));//添加數據,如果key已經存儲,則不會更新之前的value,返回NOT_STOREDFuture f1 = mClient.add('ruo', 1000, '999');System.out.println('查看添加ruo的存儲狀態:'+f1.get()+',添加后key:ruo的值是'+mClient.get('ruo'));//替換replaceFuture f2 = mClient.replace('ruo', 1000, '999');System.out.println('查看替換ruo的存儲狀態:'+f2.get()+',替換后key:ruo的值是'+mClient.get('ruo'));//追加數據append,用來向已存在的key,追加數據Future f3 = mClient.append('ruo','666');System.out.println('查看替換ruo的存儲狀態:'+f3.get()+',替換后key:ruo的值是'+mClient.get('ruo'));//prepend,用來向已存在的key對應的value前,追加數據Future f4 = mClient.prepend('ruo', '555');System.out.println('查看替換ruo的存儲狀態:'+f4.get()+',替換后key:ruo的值是'+mClient.get('ruo'));//清空數據庫mClient.flush();//關閉連接mClient.shutdown();

運行結果

2018-10-30 11:23:07.350 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@38a22ea7查看ruo的存儲狀態:true,存儲的值:888查看添加ruo的存儲狀態:false,添加后key:ruo的值是888查看替換ruo的存儲狀態:true,替換后key:ruo的值是999查看替換ruo的存儲狀態:true,替換后key:ruo的值是999666查看替換ruo的存儲狀態:true,替換后key:ruo的值是5559996662018-10-30 11:23:07.368 INFO net.spy.memcached.MemcachedConnection: Shut down memcached client

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 电表箱-浙江迈峰电力设备有限公司-电表箱专业制造商 | 通辽信息港 - 免费发布房产、招聘、求职、二手、商铺等信息 www.tlxxg.net | 活性炭-果壳木质煤质柱状粉状蜂窝活性炭厂家价格多少钱 | 直齿驱动-新型回转驱动和回转支承解决方案提供商-不二传动 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 河南道路标志牌_交通路标牌_交通标志牌厂家-郑州路畅交通 | 广东之窗网 | 辐射色度计-字符亮度测试-反射式膜厚仪-苏州瑞格谱光电科技有限公司 | 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 高压包-点火器-高压发生器-点火变压器-江苏天网 | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 | 中式装修设计_全屋定制家具_实木仿古门窗花格厂家-喜迎门 | 便携式表面粗糙度仪-彩屏硬度计-分体式粗糙度仪-北京凯达科仪科技有限公司 | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 振动筛,震动筛,圆形振动筛,振动筛价格,振动筛厂家-新乡巨宝机电 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 防爆鼓风机-全风-宏丰鼓风机-上海梁瑾机电设备有限公司 | SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 广州印刷厂_广州彩印厂-广州艺彩印务有限公司 | 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 | 全自动包装机_灌装机生产厂家-迈驰包装设备有限公司 | 周易算网-八字测算网 - 周易算网-宝宝起名取名测名字周易八字测算网 | 坏男孩影院-提供最新电影_动漫_综艺_电视剧_迅雷免费电影最新观看 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 电动球阀_不锈钢电动球阀_电动三通球阀_电动调节球阀_上海湖泉阀门有限公司 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 上海logo设计| 杭州ROHS检测仪-XRF测试仪价格-百科 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 庭院灯_太阳能景观灯_草坪灯厂家_仿古壁灯-重庆恒投科技 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 不锈钢丸厂家,铝丸,铸钢丸-淄博智源铸造材料有限公司 | 重庆LED显示屏_显示屏安装公司_重庆LED显示屏批发-彩光科技公司 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 杭州用友|用友软件|用友财务软件|用友ERP系统--杭州协友软件官网 | 锥形螺带干燥机(新型耙式干燥机)百科-常州丰能干燥工程 |