Memcached Java Client with sample program--reference

发布时间:2019-02-25 整理:脚本之家 作者:未知
脚本之家收集整理的这篇文章主要介绍了Memcached Java Client with sample program--reference脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随脚本之家小编过来看看吧!

In my previous post,I listed down most common telnet commands for memcached with sample execution terminal logs. Today I want to discuss about the Memcached Client program available in Java language.

There are three most widely used memcached client programs in java

  1. xmemcached
  2. spymemcached
  3. gwhalin memcached client

I have used Greg Whalin memcached client and found it easy to understand and use. It provides all the basic functionalities with thread pooling. Its available under BSD license and you can download it from below URL:

https://github.com/gwhalin/Memcached-Java-Client

Once you have downloaded the source code you can create a java project and copy all the java classes and then use it.

To help you get started quickly,I am providing a sample program to showcase the usage of basic functions that can be performed with memcached server.

package com.journaldev.memcached.test;

import java.util.HashMap;

import com.meetup.memcached.MemcachedClient;
import com.meetup.memcached.SockIOPool;

public class MemcachedJavaClient {

    /**
     * MemcachedJavaClient program to show the usage of different functions
     * that can be performed on Memcached server with Java Client
     * @param args
     */
    public static void main(String[] args) {
        //initialize the SockIOPool that maintains the Memcached Server Connection Pool
        String[] servers = {"localhost:11111"};
        SockIOPool pool = SockIOPool.getInstance("Test1");
        pool.setServers( servers );
        pool.setFailover( true );
        pool.setInitConn( 10 );
        pool.setMinConn( 5 );
        pool.setMaxConn( 250 );
        pool.setMaintSleep( 30 );
        pool.setNagle( false );
        pool.setSocketTO( 3000 );
        pool.setAliveCheck( true );
        pool.initialize();
        //Get the Memcached Client from SockIOPool named Test1
        MemcachedClient mcc = new MemcachedClient("Test1");
        //add some value in cache
        System.out.println("add status:"+mcc.add("1","Original"));
        //Get value from cache
        System.out.println("Get from Cache:"+mcc.get("1"));

        System.out.println("add status:"+mcc.add("1","Modified"));
        System.out.println("Get from Cache:"+mcc.get("1"));

        //use set function to add/update value,use replace to update and not add
        System.out.println("set status:"+mcc.set("1","Modified"));
        System.out.println("Get from Cache after set:"+mcc.get("1"));

        //use delete function to delete key from cache
        System.out.println("remove status:"+mcc.delete("1"));
        System.out.println("Get from Cache after delete:"+mcc.get("1"));

        //Use getMulti function to retrieve multiple keys values in one function
        // Its helpful in reducing network calls to 1
        mcc.set("2","2");
        mcc.set("3","3");
        mcc.set("4","4");
        mcc.set("5","5");
        String [] keys = {"1","2","3","INVALID","5"};
        HashMap<String,Object> hm = (HashMap<String,Object>) mcc.getMulti(keys);

        for(String key : hm.keySet()){
            System.out.println("KEY:"+key+" VALUE:"+hm.get(key));
        }
    }

}

Output of the above program is:

add status:true
Get from Cache:Original
add status:false
Get from Cache:Original
set status:true
Get from Cache after set:Modified
remove status:true
Get from Cache after delete:null
KEY:3 VALUE:3
KEY:2 VALUE:2
KEY:1 VALUE:null
KEY:INVALID VALUE:null
KEY:5 VALUE:5

If you want to connect to multiple memcached servers then you will have to create multiple SockIOPool instances and then use the same name while getting the MemcacheClient instance. 

reference:http://www.journaldev.com/24/memcached-java-client-with-sample-program

补充:memcachedclient获取方式有3中,上面是一种:

        MemcachedClientBuilder builder=new XMemcachedClientBuilder(
                AddrUtil.getAddresses("127.0.0.1:11211"));
MemcachedClient memCacheClient=builder.build();

------------------------------------------------------------
          MemcachedClient memcacheClient=new MemcachedClient(
                    new InetSocketAddress("127.0.0.1:11211",11211));

总结

以上是脚本之家为你收集整理的Memcached Java Client with sample program--reference全部内容,希望文章能够帮你解决Memcached Java Client with sample program--reference所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

标签: