`

Memcached客户端简介

    博客分类:
  • java
 
阅读更多

Memcached客户端性能评测报告

本次memcached客户端评测以JAVA开源客户项目为评测对象,分别选择Memcached-Java-Clientspymemcachedxmemcachedalisoft xplatform asf cache四个项目,其中分别由两个产品基于堵塞式IONOI实现的客户端、两个国内开源项目或两个国外开源项目。

选择的客户端简介如下:

<!--[if !supportLists]-->n  <!--[endif]-->Memcached-Java-Client

Memcached-Java-Client是官方提供的基于传统阻塞io客户端。官方网址为http://www.whalin.com/memcached/

<!--[if !supportLists]-->n  <!--[endif]-->alisoft xplatform asf cache

alisoft xplatform asf cache是阿里开源的memcached集群的客户端,它是基于Memcached-Java-Client的衍生版本。配置简单,使用也简单,有很详细的中文文档。官方网址为http://code.google.com/p/memcache-client-forjava/

<!--[if !supportLists]-->n  <!--[endif]-->spymemcached

spymemcached是基于Java NOI、单线程、异步处理的高性能memcached客户端,spymemcached对数据的操作采用异步处理方式,对于相同的缓存数据查询操作可以自动进行归并,避免多次服务器请求。spymemcached官网网址为:http://code.google.com/p/spymemcached/

<!--[if !supportLists]-->n  <!--[endif]-->xmemcached

Xmemcached是基于Java NOI、线程安全、同步处理的高性能memcached客户端,支持memcached所有的二进制协议(从1.2.0开始)和文本协议,并且支持对Kestrel(一个scala写的MQ)的兼容访问。官方网址为http://code.google.com/p/xmemcached/,基本入门指南见http://code.google.com/p/xmemcached/wiki/User_Guide_zh

<!--[if !supportLists]-->2.     <!--[endif]-->测试场景说明

<!--[if !supportLists]-->2.1.  <!--[endif]-->测试环境说明

<!--[if !supportLists]-->n  <!--[endif]-->测试机环境

CPU:双核2.53G

MEM2G

OSLinux Ubuntu 11.10 3.0.0-16-generic

<!--[if !supportLists]-->n  <!--[endif]-->Memcached

Memcached版本为1.4.13

<!--[if !supportLists]-->n  <!--[endif]-->JDK

JDK版本为1.7

<!--[if !supportLists]-->n  <!--[endif]-->客户端

所有客户端均采用最新版本,具体版本如下:

<!--[if !supportLists]-->u<!--[endif]-->Memcached-Java-Client 2.6.3

<!--[if !supportLists]-->u<!--[endif]-->Spymemcached 2.8.0

<!--[if !supportLists]-->u<!--[endif]-->Xmemcached 1.3.5

<!--[if !supportLists]-->u<!--[endif]-->alisoft xplatform asf cache 2.5.1

<!--[if !supportLists]-->2.2.  <!--[endif]-->测试用例

Memcached在测试机启动两个服务端口1121111212。客户端同时连接两个memcached服务。

性能测试采用三种不同的测试用例。

用例1:随机生成10032位长度的字符串,使用UUID作为key值,分别进行数据写入、数据读取、数据删除操作。

用例2:随机生成长度为50HashMap对象(约4k数据量),使用UUID作为key值,分别进行数据写入、数据读取、数据删除操作。

用例3:在100并发线程下,对数据进行新增、获取、删除操作,数据的字节数从64Byte依次累加到51200字节(500k),具体测试数据包括,64128256512102420485120102402048051200102400204800512000

针对两个测试用例,使用nanobench进行压力测试,使用不同的线程数共进行1000次请求(针对Memcached-Java-Client客户端在实际测试过程中,如使用1000次请求,系统出现too many open files错误,最后降低为500次请求)。

<!--[if !supportLists]-->3.     <!--[endif]-->测试结果分析

<!--[if !supportLists]-->3.1.  <!--[endif]-->写入性能分析

数据写入性能分析情况如下:



 

简单对象写入TPS分析



 

复杂对象写入TPS分析



 

简单对象写入内存占用分析



 

复杂对象写入内存占用分析

       在较高并发情况下,xmemcached性能优于Spymemcached,在低并发情况下,Spymemcached略优于xmemcached

在数据写入方面,总体性能排名如下:xmemcachedàspymemcachedà alisoft xplatform asf cacheàMemcached-Java-Client;内存占用方面:xmemcachedàMemcached-Java-Client à alisoft xplatform asf cacheàspymemcached

<!--[if !supportLists]-->3.2.  <!--[endif]-->读取性能分析

数据读取性能分析情况如下:



 

简单对象读取TPS分析



 

复杂对象读取TPS分析



 

简单对象读取内存占用分析



 

复杂对象读取内存占用分析

在数据读取方面,总体性能排名如下:xmemcachedàspymemcachedàMemcached-Java-Client à alisoft xplatform asf cache;在内存占用方面: xmemcachedàspymemcachedà Memcached-Java-Client à alisoft xplatform asf cache

<!--[if !supportLists]-->3.3.  <!--[endif]-->删除性能分析

数据输出性能分析情况如下:



 

简单对象删除TPS分析

 



 

复杂对象删除TPS分析



 

简单对象删除内存占用分析



 

复杂对象删除内存占用分析

在数据删除方面,总体性能排名如下:spymemcachedàxmemcachedà alisoft xplatform asf cache à Memcached-Java-Client;在内存占用方面: xmemcachedàspymemcachedà Memcached-Java-Client à alisoft xplatform asf cache

备注:从数据上来看在较低线程数的情况下,spymemcached性能明显优于xmemcached,在高负载的情况下,spymemcached性能略优于xmemcached,但spymemcached由于采用异步调用模式(即删除指令发出后,数据并没有被真正删除,后台采用异步提交的方式进行处理),实际数据删除操作并没有处理完成

<!--[if !supportLists]-->3.4.  <!--[endif]-->数据长度变化性能分析

在测试过程中,考虑alisoft xplatform asf cacheMemcached-Java-Client表现性能差强人意,不在对数据长度变化进行测试。调整测试内容为:spymemcachedxmemcached分别在二进制和ASCII协议下的性能变化情况。



 

数据长度变化TPS影响分析



 

数据长度变化内存占用影响分析

       实际测试结果显示,Xmemcached在整体性能上略占优势。在传输协议的对比结果上有些出乎意料,二进制协议并没有表现出优势,在大多数情况下,ASCII协议具备更好的性能

对于缓存的数据内容上,数据的长度在10k以内具备较好的性能,对于超过50k的数据,不建议在memcached中进行存储。(结合DB24k8k16k32k表空间,如不处理lob字段,数据均在可承受范围之内)

<!--[if !supportLists]-->3.5.  <!--[endif]-->总体评价

依据上述测试结果,基于堵塞式IOmemcached客户端alisoft xplatform asf cacheMemcached-Java-Client 在性能上与基于NIO的客户端xmemcachedspymemcached存在较大的差距,基于堵塞式IOmemcached客户端在测试过程中均不定期出现“打开文件数过多”的错误,需要占用更多网络读写资源。

xmemcached除在删除方面性能与spymemcached有一定的差距外,在数据写入、数据读取方面两者没有明显的差距。但在内存控制上,xmemcached具备较明显的优势(在测试过程中,spymemcached在对复杂对象操作过程中出现OOM的错误,有调整JVMPermSize和内存进行解决);xmemcached本身是基于spymemcached改进而来,几乎具备spymemcached的功能。因此建议在系统应用中选用xmemcached作为memcached客户端。

<!--[if !supportLists]-->4.     <!--[endif]-->附录

<!--[if !supportLists]-->4.1.  <!--[endif]-->详细测试数据

<!--[if !supportLists]-->n  <!--[endif]-->简单对象压力测试结果

操作

线程数

SpyMemcached

Xmemcached

jmc

asf

TPS

MEM

TPS

MEM

TPS

MEM

TPS

MEM

(set)

10

510.51

88102

310.97

5258

120.25

59633

136.08

6020

20

478.6

81439

344.12

4917

106.97

53436

121.61

13328

50

540.68

114517

388.45

9360

101.16

51011

116.76

3139

100

462.62

82393

458.75

17255

99.87

55550

100.87

11762

200

631.51

102839

590.35

11751

89.42

18940

97.19

91386

300

519.25

81165

637.52

13310

93.65

105222

135.91

78627

400

541.38

65699

724.8

25330

95.48

91411

115.31

242422

500

619.05

148441

948.45

26502

94.37

46319

96.63

45344

(get)

10

210

21539

364.7

6724

242.15

131399

141.4

15082

20

256.77

74909

453.64

3483

190.03

132258

137.42

7285

50

360.22

45428

522.57

8901

139.78

29540

142.23

12445

100

489.43

76244

540.31

21706

115.72

17710

149.68

16728

200

600.58

47630

686.78

8022

135.21

89817

129.89

44619

300

748.08

63623

916.77

11510

154.5

119221

136.83

47124

400

1068.16

51982

1081.32

55875

182.78

130141

105.33

148399

500

1252.92

67872

1210.39

55683

211.66

113543

94.25

156141

删除(delete)

10

1920

60949

452.55

3302

257.21

44434

327.27

5213

20

2014.29

64557

512.64

6456

226.46

42114

287.08

8106

50

1532.33

79291

604.34

9010

231.84

49590

280.05

3536

100

1784

126154

618.21

7675

201.95

39735

229.65

38890

200

1557.98

50025

781.64

82647

242.11

35557

234.2

122619

300

1675.35

125495

835.51

7265

325.72

59770

262.08

100943

400

1202.99

36298

899.95

23311

256.35

66451

241.43

191719

500

1261.06

56263

1075.2

23440

161.15

63833

146.83

197955

<!--[if !supportLists]-->n  <!--[endif]-->大对象压力测试结果

操作

线程数

SpyMemcached

Xmemcached

jmc

asf

TPS

MEM

TPS

MEM

TPS

MEM

TPS

MEM

(set)

10

259.24

467583

222.18

255304

144.48

20764

162.02

246856

20

235.75

497143

235.54

15381

133.58

85895

154.8

26305

50

237.82

482584

276.87

91160

142.85

74635

140.88

257407

100

232.69

442517

291.82

103691

118.41

15813

137.34

77771

200

232.1

391364

335.66

17936

132.09

79607

152.05

243591

300

250.66

392310

404.91

63163

141.37

79068

152.17

174972

400

259.27

342082

486.08

96368

120.97

97293

143.89

189039

500

246.1

273606

449.88

155568

131.08

78614

150.08

25611

(get)

10

178.64

174495

224.47

249417

171.26

32600

160.03

246387

20

183.59

140674

245.79

167597

161.99

160280

138.22

253770

50

226.32

12239

256

87253

152.9

145711

80.36

255730

100

261.46

82222

300.66

43833

157.5

159957

69.26

75928

200

346.15

105795

307.76

52438

164.14

147615

147.08

91865

300

349.61

53670

383.89

80387

182.28

147911

124.45

93083

400

430.09

28327

496.69

77513

177.31

145364

148.15

127157

500

572.84

53478

487.23

94533

180.33

148534

151.33

145180

删除(delete)

10

3174.86

64150

827.66

47583

506.36

98913

663.43

223488

20

3004.99

66000

923.66

60185

470.39

115510

667.98

228045

50

4450.18

63606

950.02

54976

345

104234

542.52

230123

100

3904.91

60183

862.95

67825

426.18

110897

498.82

247312

200

3175.47

65761

1094.5

63657

374.3

112631

531.68

238339

300

2046.76

71115

1289.17

59543

500.16

92836

526.47

242203

400

1897.26

75532

1399.28

50389

418.81

107433

519.47

243653

500

2071.35

67690

1159.58

48333

497.9

149904

513.8

243406

<!--[if !supportLists]-->n  <!--[endif]-->字节数变化压力测试结果

字节数

SpyMemcached-bin

SpyMemcached-txt

Xmemcached-bin

Xmemcached-txt

TPS

MEM

TPS

MEM

TPS

MEM

TPS

MEM

64

2917.58

5108

2810.18

13032

3262.03

8945

4199.25

9171

128

4292.9

12312

2895.1

14109

4531.3

10094

4133.94

10406

256

3592.17

14588

3196.91

16812

3038.37

11091

6550.86

11841

512

3233.89

5017

4160.2

21820

7860.32

13821

7131.74

14266

1024

7361.02

30589

2470.53

8164

5109.72

17938

5703.03

3614

2048

3233.6

46527

7798.11

51387

7222.36

29494

8547.69

28575

5120

3358.58

43874

5514.08

108159

5406.71

26134

6850.01

57482

10240

4440.62

84220

4117.94

23733

4584.6

37675

5092.56

110802

20480

660.46

151707

778.49

139424

755.55

17418

850.55

136711

51200

274.85

136410

271.22

118354

289.41

113544

285.84

112371

102400

118.4

80257

123.24

123402

138.35

96368

139.74

155225

204800

57.59

168415

58.11

125883

64.68

140794

64.86

164982

512000

20.91

323064

21.76

378767

24

226116

24.78

113326

TPS:每秒通过率

MEM:内存占用情况(单位K

jmcMemcached-Java-Client

asfalisoft xplatform asf cache

<!--[if !supportLists]-->4.2.  <!--[endif]-->第三方评测结果

<!--[if !supportLists]-->n  <!--[endif]-->Memcached-Java-Client官方评测报告

https://github.com/gwhalin/Memcached-Java-Client/wiki/PERFORMANCE

<!--[if !supportLists]-->n  <!--[endif]-->XMemcached官方评测报告

http://xmemcached.googlecode.com/svn/trunk/benchmark/benchmark.html

<!--[if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]--><!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Revision>0</o:Revision> <o:TotalTime>0</o:TotalTime> <o:Pages>1</o:Pages> <o:Words>1208</o:Words> <o:Characters>6888</o:Characters> <o:Company>hulefei</o:Company> <o:Lines>57</o:Lines> <o:Paragraphs>16</o:Paragraphs> <o:CharactersWithSpaces>8080</o:CharactersWithSpaces> <o:Version>14.0</o:Version> </o:DocumentProperties> <o:OfficeDocumentSettings> <o:PixelsPerInch>96</o:PixelsPerInch> <o:TargetScreenSize>800x600</o:TargetScreenSize> </o:OfficeDocumentSettings> </xml><![endif]--> <!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>10 pt</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>ZH-CN</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:EnableOpenTypeKerning/> <w:DontFlipMirrorIndents/> <w:OverrideTableStyleHps/> <w:UseFELayout/> </w:Compatibility> <w:NoLineBreaksAfter Lang="JA">$([{£¥·‘“〈《「『【〔〖〝﹙﹛﹝$(.[{£¥</w:NoLineBreaksAfter> <w:NoLineBreaksBefore Lang="JA">!%),.:;&gt;?]}¢¨°·ˇˉ―‖’”…‰′″›℃∶、。〃〉》」』】〕〗〞︶︺︾﹀﹄﹚﹜﹞!"%'),.:;?]`|}~¢</w:NoLineBreaksBefore> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="&#45;-"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="276"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:Calibri;} </style> <![endif]--> <!--StartFragment--> <!--EndFragment-->

 

  • 大小: 27.9 KB
  • 大小: 24.2 KB
  • 大小: 30.6 KB
  • 大小: 30.8 KB
  • 大小: 29.5 KB
  • 大小: 27.7 KB
  • 大小: 33.4 KB
  • 大小: 32.5 KB
  • 大小: 24.2 KB
  • 大小: 26.6 KB
  • 大小: 29.6 KB
  • 大小: 24.8 KB
  • 大小: 37.1 KB
  • 大小: 33.5 KB
分享到:
评论

相关推荐

    memcached客户端(三种客户端)

    在Java开发中,有三种主流的Memcached客户端库供开发者选择:官方的基于传统阻塞IO的客户端、Dustin Sallings实现的基于Java NIO的Spymemcached以及XMemcached。 1. **官方客户端** 官方提供的客户端是由Greg ...

    memcached客户端文件及服务端

    在描述中提到的“客户端调用dll文件”,指的是 Memcached 的客户端库,通常用于编程语言中与服务端进行通信。例如,如果你使用的是C++,可能会需要`libmemcached.dll`这样的动态链接库。客户端库提供了一套API,允许...

    memcached C++ 客户端 源码

    标题"memcached C++ 客户端 源码"表明了这是一个关于使用C++编写的memcached客户端的源代码库。memcached是一款高性能、分布式的内存对象缓存系统,常用于减轻数据库负载,提高Web应用性能。C++客户端则为开发者提供...

    go语言memcached客户端.zip

    在“go语言memcached客户端.zip”这个压缩包中,可能包含了一个或多个Go语言编写的Memcached客户端库的源代码。由于提供的文件名"flghd"并不明确,我们无法直接解析其具体内容,但可以基于通用的Go Memcached客户端...

    memcached客户端所需jar包

    在这个场景下,"memcached客户端所需jar包"指的是Java开发中用来连接和操作Memcached的库的Java Archive (JAR) 文件。 标题提到的"memcached客户端所需jar包",通常包括以下几个关键组件: 1. **Spymemcached**:...

    Memcached 客户端 服务端 管理工具

    Memcached客户端 客户端是应用与Memcached交互的接口,常见的客户端库有libmemcached(C语言)、pylibmc(Python)和memcached-client(Java)等。客户端的主要任务包括: - **连接管理**:建立与服务端的TCP连接...

    memcached客户端

    --------------------------------------------windows下的 memcached 客户端工具 -------------------------------------------

    memcached客户端与服务端

    **Memcached 客户端与服务端详解** Memcached 是一个高性能、分布式内存对象缓存系统,用于在数据库应用之间存储动态数据,从而减少数据库负载,提高网站性能。它最初由 LiveJournal 的 Danga Interactive 创建,...

    memcached客户端包memcached-1.4.11.tar.gz

    **一、Memcached 简介** Memcached 由 Danga Interactive 开发,最初是为 LiveJournal 的高并发需求设计的。它是一个基于键值对的内存存储系统,能够快速地存储和检索数据。由于数据存储在内存中,Memcached 提供了...

    memcached客户端和服务端程序和jar包

    **Memcached 客户端与服务端程序及JAR包详解** Memcached 是一个高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。它通过将数据和对象存储在内存中,提供快速的数据...

    C# memcached客户端源码 测试例子

    首先,我们需要了解C#中的Memcached客户端是如何工作的。这个客户端通常是一个库,如`Enyim.Caching.Memcached`,它提供了一组接口和类,允许C#应用程序通过网络与Memcached服务器通信。这些客户端库通常实现了基本...

    memcached全套安装资料,memcached库,libevent库, C/C++ memcached 客户端库:libmemcached

    memcached 安装文件,libevent库, C/C++ memcached 客户端库:libmemcached 全套工具:libevent-1.3.tar.gz,memcached-1.2.2.tar.gz,libmemcached-0.42.tar.gz 测试通过的

    memcached客户端包memcached-1.4.12.tar.gz

    1. **下载与安装**:这个包是Memcached客户端的一个特定版本,可以通过解压`memcached-1.4.12.tar.gz`来获取源代码,然后在Linux环境下编译安装。 2. **API支持**:包含C,C++,Python,PHP,Java,Perl等语言的...

    基于mina的一个Memcached客户端首发

    标题中的“基于mina的一个Memcached客户端首发”指出我们要讨论的是一个使用Apache MINA框架实现的Memcached客户端。Apache MINA是一个网络应用框架,主要用于简化开发高性能且高度可伸缩的网络应用程序,如服务器和...

    Memcached 服务端,客户端,C#

    1. 创建Memcached客户端实例,指定服务器地址和端口。 2. 使用Set方法存储数据,如`client.Set("key", "value")`。 3. 使用Get方法获取数据,如`string value = client.Get("key")`。 4. 使用Delete方法移除数据,如...

    一个 python memcached 客户端库 .zip

    一个 python memcached 客户端库。概述该软件是 memcached 内存缓存守护程序的 100% Python 接口。它是客户端软件,允许将值存储在一个或多个(可能是远程的)memcached 服务器中。在 Google 上搜索 memcached 可...

    memcached 完整的项目,服务端(win) 客户端 包括jar包

    这个项目包含了 Memcached 的服务端(适用于 Windows)以及 Java 客户端,是开发基于 Java 的分布式应用的重要工具。 ### 一、Memcached 服务端 (Win) Memcached 服务端为 Windows 平台提供了轻量级的内存缓存解决...

Global site tag (gtag.js) - Google Analytics