MemcachedClient Class Reference

Collaboration diagram for MemcachedClient:

Collaboration graph
[legend]

List of all members.

Classes

class  NIOLoader

Public Member Functions

boolean add (String key, Object value, Date expiry, Integer hashCode)
boolean add (String key, Object value, Date expiry)
boolean add (String key, Object value, Integer hashCode)
boolean add (String key, Object value)
long addOrDecr (String key, long inc, Integer hashCode)
long addOrDecr (String key, long inc)
long addOrDecr (String key)
long addOrIncr (String key, long inc, Integer hashCode)
long addOrIncr (String key, long inc)
long addOrIncr (String key)
long decr (String key, long inc, Integer hashCode)
long decr (String key, long inc)
long decr (String key)
boolean delete (String key, Integer hashCode, Date expiry)
boolean delete (String key, Date expiry)
boolean delete (String key)
boolean flushAll (String[] servers)
boolean flushAll ()
Object get (String key, Integer hashCode, boolean asString)
Object get (String key, Integer hashCode)
Object get (String key)
long getCounter (String key, Integer hashCode)
long getCounter (String key)
Map< String, Object > getMulti (String[] keys, Integer[] hashCodes, boolean asString)
Map< String, Object > getMulti (String[] keys, Integer[] hashCodes)
Map< String, Object > getMulti (String[] keys)
Object[] getMultiArray (String[] keys, Integer[] hashCodes, boolean asString)
Object[] getMultiArray (String[] keys, Integer[] hashCodes)
Object[] getMultiArray (String[] keys)
long incr (String key, long inc, Integer hashCode)
long incr (String key, long inc)
long incr (String key)
boolean keyExists (String key)
 MemcachedClient (ClassLoader classLoader, ErrorHandler errorHandler, String poolName)
 MemcachedClient (ClassLoader classLoader, ErrorHandler errorHandler)
 MemcachedClient (ClassLoader classLoader)
 MemcachedClient (String poolName)
 MemcachedClient ()
boolean replace (String key, Object value, Date expiry, Integer hashCode)
boolean replace (String key, Object value, Date expiry)
boolean replace (String key, Object value, Integer hashCode)
boolean replace (String key, Object value)
boolean set (String key, Object value, Date expiry, Integer hashCode)
boolean set (String key, Object value, Date expiry)
boolean set (String key, Object value, Integer hashCode)
boolean set (String key, Object value)
void setClassLoader (ClassLoader classLoader)
void setCompressEnable (boolean compressEnable)
void setCompressThreshold (long compressThreshold)
void setDefaultEncoding (String defaultEncoding)
void setErrorHandler (ErrorHandler errorHandler)
void setPrimitiveAsString (boolean primitiveAsString)
void setSanitizeKeys (boolean sanitizeKeys)
Map stats (String[] servers)
Map stats ()
Map statsCacheDump (String[] servers, int slabNumber, int limit)
Map statsCacheDump (int slabNumber, int limit)
Map statsItems (String[] servers)
Map statsItems ()
Map statsSlabs (String[] servers)
Map statsSlabs ()
boolean storeCounter (String key, Long counter, Integer hashCode)
boolean storeCounter (String key, Long counter)
boolean storeCounter (String key, long counter)

Static Public Attributes

static final int F_COMPRESSED = 2
static final int F_SERIALIZED = 8
static final int MARKER_BOOLEAN = 8192
static final int MARKER_BYTE = 1
static final int MARKER_BYTEARR = 4096
static final int MARKER_CHARACTER = 16
static final int MARKER_DATE = 1024
static final int MARKER_DOUBLE = 512
static final int MARKER_FLOAT = 128
static final int MARKER_INTEGER = 4
static final int MARKER_LONG = 16384
static final int MARKER_SHORT = 256
static final int MARKER_STRING = 32
static final int MARKER_STRINGBUFFER = 64
static final int MARKER_STRINGBUILDER = 2048

Private Member Functions

long incrdecr (String cmdname, String key, long inc, Integer hashCode)
void init ()
void loadMulti (LineInputStream input, Map< String, Object > hm, boolean asString) throws IOException
String sanitizeKey (String key) throws UnsupportedEncodingException
boolean set (String cmdname, String key, Object value, Date expiry, Integer hashCode, boolean asString)
Map stats (String[] servers, String command, String lineStart)

Private Attributes

ClassLoader classLoader
boolean compressEnable
long compressThreshold
String defaultEncoding
ErrorHandler errorHandler
SockIOPool pool
String poolName
boolean primitiveAsString
boolean sanitizeKeys

Static Private Attributes

static final byte[] B_DELETED = "DELETED\r\r".getBytes()
static final byte[] B_END = "END\r\n".getBytes()
static final byte[] B_NOTFOUND = "NOT_FOUND\r\n".getBytes()
static final byte[] B_STORED = "STORED\r\r".getBytes()
static final String CLIENT_ERROR = "CLIENT_ERROR"
static final int COMPRESS_THRESH = 30720
static final String DELETED = "DELETED"
static final String END = "END"
static final String ERROR = "ERROR"
static final String ITEM = "ITEM"
static Logger log
static final String NOTFOUND = "NOT_FOUND"
static final String NOTSTORED = "NOT_STORED"
static final String OK = "OK"
static final String SERVER_ERROR = "SERVER_ERROR"
static final String STATS = "STAT"
static final String STORED = "STORED"
static final String VALUE = "VALUE"


Detailed Description

This is a Memcached client for the Java platform available from http://www.danga.com/memcached/.
Supports setting, adding, replacing, deleting compressed/uncompressed and
serialized (can be stored as string if object is native class) objects to memcached.

Now pulls SockIO objects from SockIOPool, which is a connection pool. The server failover
has also been moved into the SockIOPool class.
This pool needs to be initialized prior to the client working. See javadocs from SockIOPool.

Some examples of use follow.

To create cache client object and set params:

 
	MemcachedClient mc = new MemcachedClient();

	// compression is enabled by default	
	mc.setCompressEnable(true);

	// set compression threshhold to 4 KB (default: 15 KB)	
	mc.setCompressThreshold(4096);

	// turn on storing primitive types as a string representation
	// Should not do this in most cases.	
	mc.setPrimitiveAsString(true);
 

To store an object:

	MemcachedClient mc = new MemcachedClient();
	String key   = "cacheKey1";	
	Object value = SomeClass.getObject();	
	mc.set(key, value);
 

To store an object using a custom server hashCode:

	MemcachedClient mc = new MemcachedClient();
	String key   = "cacheKey1";	
	Object value = SomeClass.getObject();	
	Integer hash = new Integer(45);	
	mc.set(key, value, hash);
 
The set method shown above will always set the object in the cache.
The add and replace methods do the same, but with a slight difference.

To delete a cache entry:

	MemcachedClient mc = new MemcachedClient();
	String key   = "cacheKey1";	
	mc.delete(key);
 

To delete a cache entry using a custom hash code:

	MemcachedClient mc = new MemcachedClient();
	String key   = "cacheKey1";	
	Integer hash = new Integer(45);	
	mc.delete(key, hashCode);
 

To store a counter and then increment or decrement that counter:

	MemcachedClient mc = new MemcachedClient();
	String key   = "counterKey";	
	mc.storeCounter(key, new Integer(100));
	System.out.println("counter after adding      1: " mc.incr(key));	
	System.out.println("counter after adding      5: " mc.incr(key, 5));	
	System.out.println("counter after subtracting 4: " mc.decr(key, 4));	
	System.out.println("counter after subtracting 1: " mc.decr(key));	
 

To store a counter and then increment or decrement that counter with custom hash:

	MemcachedClient mc = new MemcachedClient();
	String key   = "counterKey";	
	Integer hash = new Integer(45);	
	mc.storeCounter(key, new Integer(100), hash);
	System.out.println("counter after adding      1: " mc.incr(key, 1, hash));	
	System.out.println("counter after adding      5: " mc.incr(key, 5, hash));	
	System.out.println("counter after subtracting 4: " mc.decr(key, 4, hash));	
	System.out.println("counter after subtracting 1: " mc.decr(key, 1, hash));	
 

To retrieve an object from the cache:

	MemcachedClient mc = new MemcachedClient();
	String key   = "key";	
	Object value = mc.get(key);	
 

To retrieve an object from the cache with custom hash:

	MemcachedClient mc = new MemcachedClient();
	String key   = "key";	
	Integer hash = new Integer(45);	
	Object value = mc.get(key, hash);	
 

To retrieve an multiple objects from the cache

	MemcachedClient mc = new MemcachedClient();
	String[] keys      = { "key", "key1", "key2" };
	Map<Object> values = mc.getMulti(keys);
 

To retrieve an multiple objects from the cache with custom hashing

	MemcachedClient mc = new MemcachedClient();
	String[] keys      = { "key", "key1", "key2" };
	Integer[] hashes   = { new Integer(45), new Integer(32), new Integer(44) };
	Map<Object> values = mc.getMulti(keys, hashes);
 

To flush all items in server(s)

	MemcachedClient mc = new MemcachedClient();
	mc.flushAll();
 

To get stats from server(s)

	MemcachedClient mc = new MemcachedClient();
	Map stats = mc.stats();
 

Author:
greg whalin <greg@meetup.com>

Richard 'toast' Russo <russor@msoe.edu>

Kevin Burton <burton@peerfear.org>

Robert Watts <robert@wattsit.co.uk>

Vin Chawla <vin@tivo.com>

Version:
1.5

Constructor & Destructor Documentation

MemcachedClient (  ) 

Creates a new instance of MemCachedClient.

MemcachedClient ( String  poolName  ) 

Creates a new instance of MemCachedClient accepting a passed in pool name.

Parameters:
poolName name of SockIOPool

MemcachedClient ( ClassLoader  classLoader  ) 

Creates a new instance of MemCacheClient but acceptes a passed in ClassLoader.

Parameters:
classLoader ClassLoader object.

MemcachedClient ( ClassLoader  classLoader,
ErrorHandler  errorHandler 
)

Creates a new instance of MemCacheClient but acceptes a passed in ClassLoader and a passed in ErrorHandler.

Parameters:
classLoader ClassLoader object.
errorHandler ErrorHandler object.

MemcachedClient ( ClassLoader  classLoader,
ErrorHandler  errorHandler,
String  poolName 
)

Creates a new instance of MemCacheClient but acceptes a passed in ClassLoader, ErrorHandler, and SockIOPool name.

Parameters:
classLoader ClassLoader object.
errorHandler ErrorHandler object.
poolName SockIOPool name


Member Function Documentation

boolean add ( String  key,
Object  value,
Date  expiry,
Integer  hashCode 
)

Adds data to the server; the key, value, and an expiration time are specified.

Parameters:
key key to store data under
value value to store
expiry when to expire the record
hashCode if not null, then the int hashcode to use
Returns:
true, if the data was successfully stored

boolean add ( String  key,
Object  value,
Date  expiry 
)

Adds data to the server; the key, value, and an expiration time are specified.

Parameters:
key key to store data under
value value to store
expiry when to expire the record
Returns:
true, if the data was successfully stored

boolean add ( String  key,
Object  value,
Integer  hashCode 
)

Adds data to the server; the key, value, and an optional hashcode are passed in.

Parameters:
key key to store data under
value value to store
hashCode if not null, then the int hashcode to use
Returns:
true, if the data was successfully stored

boolean add ( String  key,
Object  value 
)

Adds data to the server; only the key and the value are specified.

Parameters:
key key to store data under
value value to store
Returns:
true, if the data was successfully stored

long addOrDecr ( String  key,
long  inc,
Integer  hashCode 
)

Thread safe way to initialize and decrement a counter.

Parameters:
key key where the data is stored
inc value to set or increment by
hashCode if not null, then the int hashcode to use
Returns:
value of incrementer

long addOrDecr ( String  key,
long  inc 
)

Thread safe way to initialize and decrement a counter.

Parameters:
key key where the data is stored
inc value to set or increment by
Returns:
value of incrementer

long addOrDecr ( String  key  ) 

Thread safe way to initialize and decrement a counter.

Parameters:
key key where the data is stored
Returns:
value of incrementer

long addOrIncr ( String  key,
long  inc,
Integer  hashCode 
)

Thread safe way to initialize and increment a counter.

Parameters:
key key where the data is stored
inc value to set or increment by
hashCode if not null, then the int hashcode to use
Returns:
value of incrementer

long addOrIncr ( String  key,
long  inc 
)

Thread safe way to initialize and increment a counter.

Parameters:
key key where the data is stored
inc value to set or increment by
Returns:
value of incrementer

long addOrIncr ( String  key  ) 

Thread safe way to initialize and increment a counter.

Parameters:
key key where the data is stored
Returns:
value of incrementer

long decr ( String  key,
long  inc,
Integer  hashCode 
)

Decrement the value at the specified key by the specified increment, and then return it.

Parameters:
key key where the data is stored
inc how much to increment by
hashCode if not null, then the int hashcode to use
Returns:
-1, if the key is not found, the value after incrementing otherwise

long decr ( String  key,
long  inc 
)

Decrement the value at the specified key by passed in value, and then return it.

Parameters:
key key where the data is stored
inc how much to increment by
Returns:
-1, if the key is not found, the value after incrementing otherwise

long decr ( String  key  ) 

Decrement the value at the specified key by 1, and then return it.

Parameters:
key key where the data is stored
Returns:
-1, if the key is not found, the value after incrementing otherwise

boolean delete ( String  key,
Integer  hashCode,
Date  expiry 
)

Deletes an object from cache given cache key, a delete time, and an optional hashcode.

The item is immediately made non retrievable.
Keep in mind add and replace
will fail when used with the same key will fail, until the server reaches the
specified time. However, set will succeed,
and the new value will not be deleted.

Parameters:
key the key to be removed
hashCode if not null, then the int hashcode to use
expiry when to expire the record.
Returns:
true, if the data was deleted successfully

boolean delete ( String  key,
Date  expiry 
)

Deletes an object from cache given cache key and expiration date.

Parameters:
key the key to be removed
expiry when to expire the record.
Returns:
true, if the data was deleted successfully

boolean delete ( String  key  ) 

Deletes an object from cache given cache key.

Parameters:
key the key to be removed
Returns:
true, if the data was deleted successfully

boolean flushAll ( String[]  servers  ) 

Invalidates the entire cache.

Will return true only if succeeds in clearing all servers. If pass in null, then will try to flush all servers.

Parameters:
servers optional array of host(s) to flush (host:port)
Returns:
success true/false

boolean flushAll (  ) 

Invalidates the entire cache.

Will return true only if succeeds in clearing all servers.

Returns:
success true/false

Object get ( String  key,
Integer  hashCode,
boolean  asString 
)

Retrieve a key from the server, using a specific hash.

If the data was compressed or serialized when compressed, it will automatically
be decompressed or serialized, as appropriate. (Inclusive or)

Non-serialized data will be returned as a string, so explicit conversion to
numeric types will be necessary, if desired

Parameters:
key key where data is stored
hashCode if not null, then the int hashcode to use
asString if true, then return string val
Returns:
the object that was previously stored, or null if it was not previously stored

Object get ( String  key,
Integer  hashCode 
)

Retrieve a key from the server, using a specific hash.

If the data was compressed or serialized when compressed, it will automatically
be decompressed or serialized, as appropriate. (Inclusive or)

Non-serialized data will be returned as a string, so explicit conversion to
numeric types will be necessary, if desired

Parameters:
key key where data is stored
hashCode if not null, then the int hashcode to use
Returns:
the object that was previously stored, or null if it was not previously stored

Object get ( String  key  ) 

Retrieve a key from the server, using a specific hash.

If the data was compressed or serialized when compressed, it will automatically
be decompressed or serialized, as appropriate. (Inclusive or)

Non-serialized data will be returned as a string, so explicit conversion to
numeric types will be necessary, if desired

Parameters:
key key where data is stored
Returns:
the object that was previously stored, or null if it was not previously stored

long getCounter ( String  key,
Integer  hashCode 
)

Returns value in counter at given key as long.

Parameters:
key cache ket
hashCode if not null, then the int hashcode to use
Returns:
counter value or -1 if not found

long getCounter ( String  key  ) 

Returns value in counter at given key as long.

Parameters:
key cache ket
Returns:
counter value or -1 if not found

Map<String,Object> getMulti ( String[]  keys,
Integer[]  hashCodes,
boolean  asString 
)

Retrieve multiple keys from the memcache.

This is recommended over repeated calls to get(), since it
is more efficient.

Parameters:
keys keys to retrieve
hashCodes if not null, then the Integer array of hashCodes
asString if true then retrieve using String val
Returns:
a hashmap with entries for each key is found by the server, keys that are not found are not entered into the hashmap, but attempting to retrieve them from the hashmap gives you null.

Map<String,Object> getMulti ( String[]  keys,
Integer[]  hashCodes 
)

Retrieve multiple keys from the memcache.

This is recommended over repeated calls to get(), since it
is more efficient.

Parameters:
keys keys to retrieve
hashCodes if not null, then the Integer array of hashCodes
Returns:
a hashmap with entries for each key is found by the server, keys that are not found are not entered into the hashmap, but attempting to retrieve them from the hashmap gives you null.

Map<String,Object> getMulti ( String[]  keys  ) 

Retrieve multiple objects from the memcache.

This is recommended over repeated calls to get(), since it
is more efficient.

Parameters:
keys String array of keys to retrieve
Returns:
a hashmap with entries for each key is found by the server, keys that are not found are not entered into the hashmap, but attempting to retrieve them from the hashmap gives you null.

Object [] getMultiArray ( String[]  keys,
Integer[]  hashCodes,
boolean  asString 
)

Retrieve multiple objects from the memcache.

This is recommended over repeated calls to get(), since it
is more efficient.

Parameters:
keys String array of keys to retrieve
hashCodes if not null, then the Integer array of hashCodes
asString if true, retrieve string vals
Returns:
Object array ordered in same order as key array containing results

Object [] getMultiArray ( String[]  keys,
Integer[]  hashCodes 
)

Retrieve multiple objects from the memcache.

This is recommended over repeated calls to get(), since it
is more efficient.

Parameters:
keys String array of keys to retrieve
hashCodes if not null, then the Integer array of hashCodes
Returns:
Object array ordered in same order as key array containing results

Object [] getMultiArray ( String[]  keys  ) 

Retrieve multiple objects from the memcache.

This is recommended over repeated calls to get(), since it
is more efficient.

Parameters:
keys String array of keys to retrieve
Returns:
Object array ordered in same order as key array containing results

long incr ( String  key,
long  inc,
Integer  hashCode 
)

Increment the value at the specified key by the specified increment, and then return it.

Parameters:
key key where the data is stored
inc how much to increment by
hashCode if not null, then the int hashcode to use
Returns:
-1, if the key is not found, the value after incrementing otherwise

long incr ( String  key,
long  inc 
)

Increment the value at the specified key by passed in val.

Parameters:
key key where the data is stored
inc how much to increment by
Returns:
-1, if the key is not found, the value after incrementing otherwise

long incr ( String  key  ) 

Increment the value at the specified key by 1, and then return it.

Parameters:
key key where the data is stored
Returns:
-1, if the key is not found, the value after incrementing otherwise

long incrdecr ( String  cmdname,
String  key,
long  inc,
Integer  hashCode 
) [private]

Increments/decrements the value at the specified key by inc.

Note that the server uses a 32-bit unsigned integer, and checks for
underflow. In the event of underflow, the result will be zero. Because
Java lacks unsigned types, the value is returned as a 64-bit integer.
The server will only decrement a value if it already exists;
if a value is not found, -1 will be returned.

Parameters:
cmdname increment/decrement
key cache key
inc amount to incr or decr
hashCode if not null, then the int hashcode to use
Returns:
new value or -1 if not exist

void init (  )  [private]

Initializes client object to defaults.

This enables compression and sets compression threshhold to 15 KB.

boolean keyExists ( String  key  ) 

Checks to see if key exists in cache.

Parameters:
key the key to look for
Returns:
true if key found in cache, false if not (or if cache is down)

void loadMulti ( LineInputStream  input,
Map< String, Object >  hm,
boolean  asString 
) throws IOException [private]

This method loads the data from cache into a Map.

Pass a SockIO object which is ready to receive data and a HashMap
to store the results.

Parameters:
sock socket waiting to pass back data
hm hashmap to store data into
asString if true, and if we are using NativehHandler, return string val
Exceptions:
IOException if io exception happens while reading from socket

boolean replace ( String  key,
Object  value,
Date  expiry,
Integer  hashCode 
)

Updates data on the server; the key, value, and an expiration time are specified.

Parameters:
key key to store data under
value value to store
expiry when to expire the record
hashCode if not null, then the int hashcode to use
Returns:
true, if the data was successfully stored

boolean replace ( String  key,
Object  value,
Date  expiry 
)

Updates data on the server; the key, value, and an expiration time are specified.

Parameters:
key key to store data under
value value to store
expiry when to expire the record
Returns:
true, if the data was successfully stored

boolean replace ( String  key,
Object  value,
Integer  hashCode 
)

Updates data on the server; only the key and the value and an optional hash are specified.

Parameters:
key key to store data under
value value to store
hashCode if not null, then the int hashcode to use
Returns:
true, if the data was successfully stored

boolean replace ( String  key,
Object  value 
)

Updates data on the server; only the key and the value are specified.

Parameters:
key key to store data under
value value to store
Returns:
true, if the data was successfully stored

String sanitizeKey ( String  key  )  throws UnsupportedEncodingException [private]

boolean set ( String  cmdname,
String  key,
Object  value,
Date  expiry,
Integer  hashCode,
boolean  asString 
) [private]

Stores data to cache.

If data does not already exist for this key on the server, or if the key is being
deleted, the specified value will not be stored.
The server will automatically delete the value when the expiration time has been reached.

If compression is enabled, and the data is longer than the compression threshold
the data will be stored in compressed form.

As of the current release, all objects stored will use java serialization.

Parameters:
cmdname action to take (set, add, replace)
key key to store cache under
value object to cache
expiry expiration
hashCode if not null, then the int hashcode to use
asString store this object as a string?
Returns:
true/false indicating success

boolean set ( String  key,
Object  value,
Date  expiry,
Integer  hashCode 
)

Stores data on the server; the key, value, and an expiration time are specified.

Parameters:
key key to store data under
value value to store
expiry when to expire the record
hashCode if not null, then the int hashcode to use
Returns:
true, if the data was successfully stored

boolean set ( String  key,
Object  value,
Date  expiry 
)

Stores data on the server; the key, value, and an expiration time are specified.

Parameters:
key key to store data under
value value to store
expiry when to expire the record
Returns:
true, if the data was successfully stored

boolean set ( String  key,
Object  value,
Integer  hashCode 
)

Stores data on the server; only the key and the value are specified.

Parameters:
key key to store data under
value value to store
hashCode if not null, then the int hashcode to use
Returns:
true, if the data was successfully stored

boolean set ( String  key,
Object  value 
)

Stores data on the server; only the key and the value are specified.

Parameters:
key key to store data under
value value to store
Returns:
true, if the data was successfully stored

void setClassLoader ( ClassLoader  classLoader  ) 

Sets an optional ClassLoader to be used for serialization.

Parameters:
classLoader 

void setCompressEnable ( boolean  compressEnable  ) 

Enable storing compressed data, provided it meets the threshold requirements.

If enabled, data will be stored in compressed form if it is
longer than the threshold length set with setCompressThreshold(int)

The default is that compression is enabled.

Even if compression is disabled, compressed data will be automatically
decompressed.

Parameters:
compressEnable true to enable compression, false to disable compression

void setCompressThreshold ( long  compressThreshold  ) 

Sets the required length for data to be considered for compression.

If the length of the data to be stored is not equal or larger than this value, it will not be compressed.

This defaults to 15 KB.

Parameters:
compressThreshold required length of data to consider compression

void setDefaultEncoding ( String  defaultEncoding  ) 

Sets default String encoding when storing primitives as Strings. Default is UTF-8.

Parameters:
defaultEncoding 

void setErrorHandler ( ErrorHandler  errorHandler  ) 

Sets an optional ErrorHandler.

Parameters:
errorHandler 

void setPrimitiveAsString ( boolean  primitiveAsString  ) 

Enables storing primitive types as their String values.

Parameters:
primitiveAsString if true, then store all primitives as their string value.

void setSanitizeKeys ( boolean  sanitizeKeys  ) 

Enables/disables sanitizing keys by URLEncoding.

Parameters:
sanitizeKeys if true, then URLEncode all keys

Map stats ( String[]  servers,
String  command,
String  lineStart 
) [private]

Map stats ( String[]  servers  ) 

Retrieves stats for passed in servers (or all servers).

Returns a map keyed on the servername. The value is another map which contains stats with stat name as key and value as value.

Parameters:
servers string array of servers to retrieve stats from, or all if this is null
Returns:
Stats map

Map stats (  ) 

Retrieves stats for all servers.

Returns a map keyed on the servername. The value is another map which contains stats with stat name as key and value as value.

Returns:
Stats map

Map statsCacheDump ( String[]  servers,
int  slabNumber,
int  limit 
)

Retrieves stats for passed in servers (or all servers).

Returns a map keyed on the servername. The value is another map which contains cachedump stats with the cachekey as key and byte size and unix timestamp as value.

Parameters:
servers string array of servers to retrieve stats from, or all if this is null
slabNumber the item number of the cache dump
Returns:
Stats map

Map statsCacheDump ( int  slabNumber,
int  limit 
)

Retrieves items cachedump for all servers.

Returns a map keyed on the servername. The value is another map which contains cachedump stats with the cachekey as key and byte size and unix timestamp as value.

Parameters:
slabNumber the item number of the cache dump
Returns:
Stats map

Map statsItems ( String[]  servers  ) 

Retrieves stats for passed in servers (or all servers).

Returns a map keyed on the servername. The value is another map which contains item stats with itemname:number:field as key and value as value.

Parameters:
servers string array of servers to retrieve stats from, or all if this is null
Returns:
Stats map

Map statsItems (  ) 

Retrieves stats items for all servers.

Returns a map keyed on the servername. The value is another map which contains item stats with itemname:number:field as key and value as value.

Returns:
Stats map

Map statsSlabs ( String[]  servers  ) 

Retrieves stats for passed in servers (or all servers).

Returns a map keyed on the servername. The value is another map which contains slabs stats with slabnumber:field as key and value as value.

Parameters:
servers string array of servers to retrieve stats from, or all if this is null
Returns:
Stats map

Map statsSlabs (  ) 

Retrieves stats items for all servers.

Returns a map keyed on the servername. The value is another map which contains slabs stats with slabnumber:field as key and value as value.

Returns:
Stats map

boolean storeCounter ( String  key,
Long  counter,
Integer  hashCode 
)

Store a counter to memcached given a key

Parameters:
key cache key
counter number to store
hashCode if not null, then the int hashcode to use
Returns:
true/false indicating success

boolean storeCounter ( String  key,
Long  counter 
)

Store a counter to memcached given a key

Parameters:
key cache key
counter number to store
Returns:
true/false indicating success

boolean storeCounter ( String  key,
long  counter 
)

Store a counter to memcached given a key

Parameters:
key cache key
counter number to store
Returns:
true/false indicating success


Member Data Documentation

final byte [] B_DELETED = "DELETED\r\r".getBytes() [static, private]

final byte [] B_END = "END\r\n".getBytes() [static, private]

final byte [] B_NOTFOUND = "NOT_FOUND\r\n".getBytes() [static, private]

final byte [] B_STORED = "STORED\r\r".getBytes() [static, private]

ClassLoader classLoader [private]

final String CLIENT_ERROR = "CLIENT_ERROR" [static, private]

final int COMPRESS_THRESH = 30720 [static, private]

boolean compressEnable [private]

long compressThreshold [private]

final String DELETED = "DELETED" [static, private]

final String END = "END" [static, private]

final String ERROR = "ERROR" [static, private]

final int F_COMPRESSED = 2 [static]

final int F_SERIALIZED = 8 [static]

final String ITEM = "ITEM" [static, private]

Logger log [static, private]

Initial value:

                Logger.getLogger( MemcachedClient.class.getName() )

final int MARKER_BOOLEAN = 8192 [static]

final int MARKER_BYTE = 1 [static]

final int MARKER_BYTEARR = 4096 [static]

final int MARKER_CHARACTER = 16 [static]

final int MARKER_DATE = 1024 [static]

final int MARKER_DOUBLE = 512 [static]

final int MARKER_FLOAT = 128 [static]

final int MARKER_INTEGER = 4 [static]

final int MARKER_LONG = 16384 [static]

final int MARKER_SHORT = 256 [static]

final int MARKER_STRING = 32 [static]

final int MARKER_STRINGBUFFER = 64 [static]

final int MARKER_STRINGBUILDER = 2048 [static]

final String NOTFOUND = "NOT_FOUND" [static, private]

final String NOTSTORED = "NOT_STORED" [static, private]

final String OK = "OK" [static, private]

SockIOPool pool [private]

String poolName [private]

boolean primitiveAsString [private]

boolean sanitizeKeys [private]

final String SERVER_ERROR = "SERVER_ERROR" [static, private]

final String STATS = "STAT" [static, private]

final String STORED = "STORED" [static, private]

final String VALUE = "VALUE" [static, private]


The documentation for this class was generated from the following file:

Generated on Sat May 26 06:42:31 2012 for Project Wonder by  doxygen 1.5.8