@Bean public MemcachedClient memcachedClientForCluster() { List<InetSocketAddress> addressList = new ArrayList<InetSocketAddress>(); addressList.add(new InetSocketAddress("192.168.200.201", 11211)); addressList.add(new InetSocketAddress("192.168.200.201", 11212)); // 赋予权重 int[] weights = {1, 2}; XMemcachedClientBuilder builder = new XMemcachedClientBuilder(addressList, weights); // 设置连接池大小 builder.setConnectionPoolSize(10); // 协议工厂 builder.setCommandFactory(new TextCommandFactory()); // 分布策略,一致性哈希KetamaMemcachedSessionLocator或者ArraySessionLocator(默认) builder.setSessionLocator(new KetamaMemcachedSessionLocator()); // 设置序列化器 builder.setTranscoder(new SerializingTranscoder()); MemcachedClient memcachedClient = null; try { memcachedClient = builder.build(); } catch (IOException e) { e.printStackTrace(); } return memcachedClient; }
public MemcachedClient memcachedClientForCluster() { List<InetSocketAddress> addressList = new ArrayList<>(); addressList.add(new InetSocketAddress("192.168.0.108", 11211)); addressList.add(new InetSocketAddress("192.168.0.108", 11212)); // 赋予权重 int[] weights = {1, 2}; XMemcachedClientBuilder builder = new XMemcachedClientBuilder(addressList, weights); // 设置连接池大小 builder.setConnectionPoolSize(10); // 协议工厂 builder.setCommandFactory(new TextCommandFactory()); // 分布策略,一致性哈希KetamaMemcachedSessionLocator或者ArraySessionLocator(默认) builder.setSessionLocator(new KetamaMemcachedSessionLocator()); // 设置序列化器 builder.setTranscoder(new SerializingTranscoder()); MemcachedClient memcachedClient = null; try { memcachedClient = builder.build(); } catch (IOException e) { e.printStackTrace(); } return memcachedClient; }
builder.setSessionLocator(new KetamaMemcachedSessionLocator());