• get(key): Retrieves information from the cache. Returns the value associated with the key if the
specified key exists. Returns NULL, nil, undefined, or the closest equivalent in the corresponding
language, if the specified key does not exist.
•
set(key, value [,
value. Note that this either updates an existing item if the key already exists, or adds a new key/value
pair if the key doesn't exist. If the expiry time is specified, then the item expires (and is deleted) when
the expiry time is reached. The time is specified in seconds, and is taken as a relative time if the
value is less than 30 days (30*24*60*60), or an absolute time (epoch) if larger than this value.
•
add(key, value [,
key does not already exist.
•
replace(key, value [,
if the key already exists. The new value is given by the
•
delete(key [,
time, then adding another item with the specified
•
incr(key [,
value.
•
decr(key [,
value.
• flush_all: Invalidates (or expires) all the current items in the cache. Technically they still exist
(they are not deleted), but they are silently destroyed the next time you try to access them.
In all implementations, most or all of these functions are duplicated through the corresponding native
language interface.
When practical, use
database. For example, when displaying a record about an object (invoice, user history, or blog post),
load all the data for the associated entry from the database, and compile it into the internal structure
that would normally be required by the application. Save the complete object in the cache.
Complex data structures cannot be stored directly. Most interfaces serialize the data for you, that is,
put it in a textual form that can reconstruct the original pointers and nesting. Perl uses Storable, PHP
uses serialize, Python uses
In most cases, the serialization interface used is customizable. To share data stored in
instances between different language interfaces, consider using a common serialization solution such
as JSON (Javascript Object Notation).
15.6.3.2. Using
memcached
When using
and load the appropriate key-value pairs into the cache. Then, subsequent lookups can be done
directly from the cache.
Because MySQL has its own in-memory caching mechanisms for queried data, such as the
buffer pool
and the MySQL query cache, look for opportunities beyond loading individual column values
or rows into the cache. Prefer to cache composite values, such as those retrieved from multiple tables
through a join query, or result sets assembled from multiple rows.
Developing a
expiry]): Sets the item associated with a key in the cache to the specified
expiry]): Adds the key and associated value to the cache, if the specified
expiry]): Replaces the item associated with the specified key, only
time]): Deletes the
value]): Increments the item associated with the
value]): Decrements the item associated with the
to store full items, rather than caching a single column value from the
memcached
cPickle
as a MySQL Caching Layer
to cache MySQL data, your application must retrieve data from the database
memcached
Caution
Limit the information in the cache to non-sensitive data, because there is no
security required to access or update the information within a
instance. Anybody with access to the machine has the ability to read, view
and potentially update the information. To keep the data secure, encrypt the
Application
memcached
value
and its associated item from the cache. If you supply a
key
is blocked for the specified period.
key
(or Pickle) and Java uses the
1359
parameter.
by one or the optional
key
by one or the optional
key
Serializable
memcached
memcached
interface.
InnoDB