memcached之java客户端:spymemcached与spring整合(身份验证)

    xiaoxiao2021-04-16  30

    net.spy.memcached.spring.MemcachedClientFactoryBean在net.spy.memcached.MemcachedClient每次使用的时候创建MemcachedClient的新实例。

    不用身份验证的配置代码:

    <bean id="spyMemcachedClient" class="net.spy.memcached.spring.MemcachedClientFactoryBean"> <property name="servers" value="${memcached.servers}" /> <property name="protocol" value="${memcached.protocol}" /> <property name="transcoder"> <bean class="net.spy.memcached.transcoders.SerializingTranscoder"> <property name="compressionThreshold" value="1024" /> </bean> </property> <property name="opTimeout" value="${memcached.opTimeout}" /> <property name="timeoutExceptionThreshold" value="${memcached.timeoutExceptionThreshold}" /> <property name="hashAlg"> <value type="net.spy.memcached.DefaultHashAlgorithm">KETAMA_HASH</value> </property> <property name="locatorType" value="${memcached.locatorType}" /> <property name="failureMode" value="${memcached.failureMode}" /> <property name="useNagleAlgorithm" value="${memcached.useNagleAlgorithm}" /> </bean>

    属性说明: Servers 一个字符串,包括由空格或逗号分隔的主机或IP地址与端口号 Daemon 设置IO线程的守护进程(默认为true)状态 FailureMode 设置故障模式(取消,重新分配,重试),默认是重新分配 HashAlg 设置哈希算法(见net.spy.memcached.HashAlgorithm的值) InitialObservers 设置初始连接的观察者(观察初始连接) LocatorType 设置定位器类型(ARRAY_MOD,CONSISTENT),默认是ARRAY_MOD MaxReconnectDelay 设置最大的连接延迟 OpFact 设置操作工厂 OpQueueFactory 设置操作队列工厂 OpTimeout 以毫秒为单位设置默认的操作超时时间 Protocol 指定要使用的协议(BINARY,TEXT),默认是TEXT ReadBufferSize 设置读取的缓冲区大小 ReadOpQueueFactory 设置读队列工厂 ShouldOptimize 如果默认操作优化是不可取的,设置为false(默认为true) Transcoder 设置默认的转码器(默认以net.spy.memcached.transcoders.SerializingTranscoder) UseNagleAlgorithm 如果你想使用Nagle算法,设置为true WriteOpQueueFactory 设置写队列工厂 AuthDescriptor 设置authDescriptor,在新的连接上使用身份验证

    如果需要身份认证,需要在配置中配置authDescriptor对象,并使用构造器方式注入memcached的账号密码,例如:

    <bean id="spyMemcachedClient" class="net.spy.memcached.spring.MemcachedClientFactoryBean"> ...... <property name="authDescriptor" ref="authDescriptor" /> </bean> <!-- 阿里云身份校验 --> <bean id="authDescriptor" class="net.spy.memcached.auth.AuthDescriptor"> <constructor-arg index="0" > <list> <value>PLAIN</value> </list> </constructor-arg> <constructor-arg index="1" ref="plainCallbackHandler"/> </bean> <!-- 阿里云账号密码配置 --> <bean id="plainCallbackHandler" class="net.spy.memcached.auth.PlainCallbackHandler"> <constructor-arg index="0" value="${memcached.username}"/> <constructor-arg index="1" value="${memcached.password}"/> </bean>

    参考来源:http://blog.sina.com.cn/s/blog_5c6935040101dbnm.html

    转载请注明原文地址: https://ju.6miu.com/read-672416.html

    最新回复(0)