<?xml version="1.0" encoding="UTF-8" ?><oembed><version>1.0</version><provider_name>Jui-Nan Lin&#039;s Blog</provider_name><provider_url>https://jnlin.org</provider_url><author_name>jnlin</author_name><author_url>https://jnlin.org/author/jnlin/</author_url><title>MySQL 5.5 的 InnoDB Memcached Plugin</title><html>之前曾經提過 &lt;a href=&quot;http://jnlin.org/2011/03/26/474/&quot;&gt;HandlerSocket - A NoSQL Plugin for MySQL&lt;/a&gt;，可以透過類似 NoSQL 的方式存取 InnoDB，效能會比普通 SQL 更好。後來 Oracle 在 MySQL 5.5 推出的時候，直接使用 Memcached Protocol，理論上應該是更方便（因為 Memcached Adapter 到處都有...）。

於是最近仔細的研究了一下，發現要使用 MySQL 5.5 的 InnoDB Memcached Plugin，要注意以下的地方：

&lt;ol&gt;
&lt;li&gt;如果要使用自行指定的 Table，需要參考 &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached-internals.html&quot;&gt; Internals of the InnoDB memcached Plugin&lt;/a&gt;，在 &lt;code&gt;innodb_memcache.containers&lt;/code&gt; 設定 key 與 column 的對應表。&lt;/li&gt;
&lt;li&gt;預設是使用 &lt;code&gt;containers&lt;/code&gt; Table 裡面 name 為 &lt;code&gt;default&lt;/code&gt; 的 Table。&lt;/li&gt;
&lt;li&gt;如果要指定 Table，要在 GET 或 SET 指令前，下 &lt;code&gt;GET @@name&lt;/code&gt; 或 &lt;code&gt;SET @@name&lt;/code&gt; 將之後的 Request 都切換到 &lt;code&gt;name&lt;/code&gt; 這個 Table。
&lt;/li&gt;&lt;li&gt;如果需要 Replication，記得要設定 &lt;code&gt;innodb_api_enable_binlog&lt;/code&gt; 這個值。&lt;/li&gt;
&lt;/ol&gt;

大概重點就這些了，如果還有玩到別的再來補充。</html><type>rich</type></oembed>