当前位置: 首页 > 工具软件 > Spymemcached > 使用案例 >

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

颜啸
2023-12-01

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

 类似资料: