Test the memcached service on Ubuntu and windows

Source: Internet
Author: User

Refer:

Http://blog.csdn.net/lizhongkan/article/details/6033370

Http://brainfry.in/programming/memcached-java-examples/

For how to install the memcached service, see:

Install memcached on Ubuntu and windows

Put the Code directly:

Create a memcached connection class first. Make sure to enter the correct IP address and port of the memcached server.

import java.io.IOException;import java.net.InetSocketAddress;import java.util.concurrent.Future;import net.spy.memcached.MemcachedClient;public class MemClient {    private static MemcachedClient client = null;    static {        try {            client = new MemcachedClient(new InetSocketAddress("127.0.0.1",                    11211));            System.out.println("CONNECTED TO SERVER");        } catch (IOException e) {            e.printStackTrace();            System.exit(-1);        }    }    public Future<Boolean> addToMemCache(String key, int timeOut, Object val) {        Future<Boolean> future = client.set(key, timeOut, val);        return future;    }    public Object getMemcachedValue(String key) {        return client.get(key);    }}

Create another usage class. The basic principle is to randomly generate 100 pairs of key-value pairs and check whether all of them are saved. After the specified expire period, read the data to check whether the stored data is invalid.

import java.util.ArrayList;import java.util.Random;import java.util.concurrent.ExecutionException;import java.util.concurrent.Future;import java.util.logging.Level;import java.util.logging.Logger;public class MemClientUser {    private static ArrayList<String> keyStore = new ArrayList<String>();    private static ArrayList<Future<Boolean>> futures = new ArrayList<Future<Boolean>>();    private static int counter = 0;    public static void main(String[] args) throws InterruptedException,            ExecutionException {        Logger.getLogger("net.spy.memcached").setLevel(Level.SEVERE);        final MemClient memClient = new MemClient();        for (int i = 0; i < 100; i++) {            final String key = getRandomKey();            final String value = getValueFromASource();            keyStore.add(key);            Future<Boolean> future = memClient.addToMemCache(key, 10, value);            try {                future.get();            } catch (InterruptedException e) {                e.printStackTrace();            } catch (ExecutionException e) {                e.printStackTrace();            }            if (future != null) {                futures.add(future);                counter++;            } else                System.out.println("future is null??");        }        System.out.println("VALUES TRIED: " + counter);        counter = 0;        for (final String key : keyStore) {            String val = (String) memClient.getMemcachedValue(key);            if (val != null)                counter++;        }        System.out.println("VALUES FOUND: " + counter);        // This ensures the the values are expired        Thread.sleep(10000);        counter = 0;        for (final String key : keyStore) {            String val = (String) memClient.getMemcachedValue(key);            if (val != null)                counter++;        }        System.out.println("VALUES REMAINING: " + counter);    }    private static String getRandomKey() {        return "RANDOM_KEY" + new Random().nextInt(99999);    }    private static String getValueFromASource() {        // This function ideally would return a value from a database, or an API        // call        return "RANDOM_VALUE" + new Random().nextInt(99999);    }}

The test results are as follows:

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.