首页 > 其他分享 >memcache的客户端

memcache的客户端

时间:2023-04-17 11:05:01浏览次数:37  
标签:java nio XMemcached memcache memcached 节点 客户端


Memcached的java客户端已经存在三个了:官方提供的基于传统阻塞io的客户端 、Dustin Sallings实现的基于java nio的spymemcached 和XMemcached。

memcache常用Java客户端有三个:
1、memcached client for Java  
2、spymemcached 
3、xmemcached
xmemcached 上述三者中最优秀的。

官网:https://github.com/killme2008/xmemcached/releases

XMemcached的主要特性
高性能
XMemcached同样是基于java nio的客户端,java nio相比于传统阻塞io模型来说,有效率高(特别在高并发下)和资源耗费相对较少的优点。传统阻塞IO为了提高效率,需要创建一定数量的连接形成连接池,而nio仅需要一个连接即可(当然,nio也是可以做池化处理),相对来说减少了线程创建和切换的开销,这一点在高并发下特别明显。因此XMemcached与Spymemcached在性能都非常优秀,在某些方面(存储的数据比较小的情况下)Xmemcached比Spymemcached的表现更为优秀

支持完整的协议
Xmemcached支持所有的memcached协议,包括1.4.0正式开始使用的 二进制协议 。

支持客户端分布

Memcached的分布只能通过客户端来实现,XMemcached实现了此功能,并且提供了一致性哈希(consistent hash)算法的实现。

允许设置节点权重

XMemcached允许通过设置节点的权重来调节memcached的负载,设置的权重越高,该memcached节点存储的数据将越多,所承受的负载越大。

动态增删节点

XMemcached允许通过JMX或者代码编程实现节点的动态添加或者移除,方便用户扩展和替换节点等。

支持JMX

XMemcached通过JMX暴露的一些接口,支持client本身的监控和调整,允许动态设置调优参数、查看统计数据、动态增删节点等。

标签:java,nio,XMemcached,memcache,memcached,节点,客户端
From: https://blog.51cto.com/u_16071779/6194759

相关文章

  • eureka源码简单剖析-服务端(服务注册接口-作用是客户端的注册服务)
    本部分讲的是客户端的一些服务注册要注册中心,就是服务的提供者将服务注册到注册中心,方便消费者拿到需要的服务  peer是集群的模式 然后看下这个super.register(info,leaseDuration,isReplication);   日常学习使用的一般是eureka单机模式,企业使用都是eureka......
  • python学习之http客户端和服务端
    Part1前言python非常简洁,非常适合写小功能以及测试接口。本文主要记录用pyhon实现一个简单的http客户端和服务端。Part2http客户端这里采用request库来实现。示例如下importrequestsimportjsonurl='http://127.0.0.1:81/test?key1=123&key2=456'headers={'Authoriza......
  • FTP数据连接既可能是客户端发起的,也可能是服务器端发起的 主动传输模式和被动传输模式
    主动传输模式和被动传输模式在FTP协议中,控制连接使用周知端口21。相反,数据传输连接的目的端口通常实现无法知道。FTP协议使用一个标准的端口21作为ftp-data端口,但是这个端口只用于连接的源地址是服务器端的情况,在这个端口上根本就没有监听进程。FTP的数据连接和控制连接的方向一般......
  • LYT-C#-Socket——简单的TCP服务端-客户端连接通信
    https://learn.microsoft.com/zh-cn/dotnet/api/system.net.sockets.tcplistener?view=netframework-4.8.1TCP编程的服务器端一般步骤是:1、创建一个socket,用函数socket()。2、设置socket属性。3、绑定本机的IP地址、端口等信息到socket上,用函数bind()。......
  • Centos7.9仅安装mysql8客户端工具
    说明这里的方式是通过MYSQL官网下载包进行安装Mysql客户端,直接使用yum的安装方式没试过,安装命令yuminstallmysql-devel。mysql客户端安装需要在官网上下载4个包,这里以8.0.25版本为例,要下载的包如下:mysql-community-commonmysql-community-client-pluginsmysql-community-......
  • Containerd ctr、crictl、nerdctl 客户端命令
    转载自:https://blog.laeni.cn/note/cloud/cri/ctl/由于Containerd已经从Docker独立,这代表Docker底层也是使用的是Containerd。而Containerd是实现了CRI规范的,所以k8s是可以直接使用Containerd而无需再使用Docker的。但是大部分时候我们还是使用Docker作为k8s......
  • 以太网通信控制板-控制板连接电脑网线然后作为TCP客户端和电脑端的TCP服务器通信
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/CH579_DTU_PBX/index1.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 说明这节......
  • Kubernetes客户端认证(二)—— 基于ServiceAccount的JWTToken认证
    1、概述在Kubernetes官方手册中给出了“用户”的概念,Kubernetes集群中存在的用户包括“普通用户”与“ServiceAccount”,但是Kubernetes没有普通用户的管理方式,通常只是将使用集群根证书签署的有效证书的用户都被视为合法用户。那么对于使得Kubernetes集群......
  • SQLServer 客户端链接服务器到Oracle数据库 全攻略
    引言和第三方公司进行接口对接时,发现某一个模块第三方只提供一个视图,还让我们直接调用他们数据库......
  • 本地kafka安装以及使用java作为客户端
    1.使用windows下载kafka地址:https://kafka.apache.org/    下载安装后,使用命令行启动: 进入kafka所在目录,执行命令:   #启动zookeeper命令: bin\windows\zookeeper-server-start.bat.\config\zookeeper.properties#启动kafka命令bin\windows\kafka-server......