zoukankan      html  css  js  c++  java
  • 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));
  • 相关阅读:
    《Linux系统free命令的使用》学习笔记
    《postfix MAIL服务搭建(第一篇):》RHEL6
    RHEL(RedHat Enterprise Linux)5/6 ISO镜像下载
    《samba搭建win客户端和linux客户端的区别》
    《怎样实现通过shell脚本将用户踢出系统》
    《DDNS服务器的搭建和案例解决方法》
    《Usermod:user lee is currently logged in 家目录不能改变解决方法》
    你们看不懂为什么写这个博客吧
    JS几种数组遍历方式以及性能分析对比
    从概念到业务来看 To B 和 To C 产品区别在哪?
  • 原文地址:https://www.cnblogs.com/davidwang456/p/3797428.html
Copyright © 2011-2022 走看看