Benchmarks suggest that the daemon_memcached
plugin speeds up DML operations (inserts, updates, and deletes) more than it speeds up queries. Therefore, consider focussing initial development efforts on write-intensive applications that are I/O-bound, and look for opportunities to use MySQL with the daemon_memcached
plugin for new write-intensive applications.
Single-row DML statements are the easiest types of statements to turn into memcached
operations. INSERT
becomes add
, UPDATE
becomes set
, incr
or decr
, and DELETE
becomes delete
. These operations are guaranteed to only affect one row when issued through the memcached interface, because the key
is unique within the table.
In the following SQL examples, t1
refers to the table used for memcached operations, based on the configuration in the innodb_memcache.containers
table. key
refers to the column listed under key_columns
, and val
refers to the column listed under value_columns
.
INSERT INTO t1 (key,val) VALUES (some_key
,some_value
); SELECT val FROM t1 WHERE key =some_key
; UPDATE t1 SET val =new_value
WHERE key =some_key
; UPDATE t1 SET val = val + x WHERE key =some_key
; DELETE FROM t1 WHERE key =some_key
;
The following TRUNCATE TABLE
and DELETE
statements, which remove all rows from the table, correspond to the flush_all
operation, where t1
is configured as the table for memcached operations, as in the previous example.
TRUNCATE TABLE t1; DELETE FROM t1;