一、JAVA访问memcache之Xmemcached
Xmemcached是采用nio连接,并发效率会高,大都采用该客户端。
1、引入Xmemcached
1 2 3 4 5 | <dependency> <groupId>com.googlecode.xmemcached</groupId> <artifactId>xmemcached</artifactId> <version>2.0.0</version> </dependency> |
2、配置客户端(结合Spring,factorybean是xmemecached内部提供的)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <bean name="memcachedClient" > <!-- nio connection pool size --> <property name="connectionPoolSize" value="2" /> <!-- Use binary protocol,default is TextCommandFactory --> <property name="commandFactory"> <bean /> </property> <!-- Distributed strategy --> <property name="sessionLocator"> <bean /> </property> <!-- Serializing transcoder --> <property name="transcoder"> <bean /> </property> <property name="servers" value="192.168.22.165:10001 192.168.22.165:10002" /> <!-- server's weights --> <property name="weights"> <list> <value>1</value> <value>1</value> </list> </property> </bean> |
可以配置
nio连接数:connectionPoolSize
传输是文本还是二进制形式:commandFactory
不同的hash散列算法:sessionLocator
序列化方式:transcoder
多个服务器负载均衡:servers
服务器的比重:weights
bean工厂返回的是一个MemcachedClient client
3、使用客户端
client.set(“key1”, 12, “value”) //超时时间是秒
你也可以使用异步的方式
client.setWithNoReply(“key1”, 12, “value”);
其它操作,你参考memcache官方说明,每一个操作,都对应一个同名方法。
二、JAVA访问redis之Jedis
Jedis是redis官方第一位推荐的java客户端。
1、引入客户端
1 2 3 4 5 | <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.4.2</version> </dependency> |
2、单连接使用jedis
官方示例:
1 2 3 4 5 | Jedis jedis = new Jedis("localhost"); jedis.set("foo", "bar"); jedis.auth(password); jedis.select(database); String value = jedis.get("foo"); |
3、使用连接池
1 2 3 4 5 6 7 | JedisPoolConfig poolConfig = new JedisPoolConfig(); poolConfig.setMaxTotal(32); poolConfig.setMaxIdle(32); poolConfig.setTestOnBorrow(true); poolConfig.setMaxWaitMillis(6000); JedisPool jedisPool = new JedisPool(poolConfig, host, port, timeout, password, database); |
jedis的连接池是直接实现的commons-pool的 org.apache.commons.pool2.impl.GenericObjectPool
建立连接池之后,如何使用。
参考:JAVA的那些池子
除非注明,赵岩的博客文章均为原创,转载请以链接形式标明本文地址
本文地址:https://zhaoyanblog.com/archives/205.html