memcache storage engine for MySQL

Ian Kallen spidaman at gmail.com
Mon Aug 28 14:46:59 UTC 2006


That's really cool, Brian. As far as the example goes, indeed the mess
it leaves in the yard *is* kinda nasty but having it catch a ball
usually hurts, so I'm wary of storage engines that confuse my head
with your dog.

I think I know what you meant but the double take made me pause over
my coffee, good morning!
 ;)

-Ian

On 8/28/06, Brian Aker <brian at tangent.org> wrote:
> Hi!
>
> I completed the "pre-alpha" of having memache act as a storage engine
> for MySQL
> http://tangent.org/index.pl?lnode_id=506
>
> What works:
> SELECT, UPDATE, DELETE, INSERT
> INSERT into foo SELECT ...
>
> What doesn't work?
> Probably ORDER BY operations.
> REPLACE (I think)
> IN ()
> NULL
> multiple memcache servers (this would be cake though to add)
> table namespace, right now it treats the entire server as one big
> namespace
>
> There is probably a lot more I haven't thought up that is now
> working. Right now the version I put up only allows you to have a
> primary key and one attribute. Doing multiple attributes means coming
> up with a way to store MySQL row format, aka UNIREG, in something
> which would be easy for anyone to take apart. Mark suggested XML, but
> XML would be damn slow to parse.
>
> If you really want to use this, skip using the loadable interface and
> compile it directly in. I put some instructions in the README on how
> to do this. You will want to use the latest 5.1 tree.
>
> Example:
>
> mysql>  INSTALL PLUGIN memcache SONAME 'libmemcache_engine.so' ;
> create table foo1 (k varchar(128) NOT NULL, val blob, primary key(k))
> ENGINE=memcache CONNECTION='localhost:6666';
>
> mysql> insert into foo1 VALUES ("mine", "This is your head");
> Query OK, 1 row affected (0.01 sec)
>
> mysql> select * from foo1 WHERE k="mine";
> +------+-----------------+
> | k    | val             |
> +------+-----------------+
> | mine | This is my  dog |
> +------+-----------------+
> 1 row in set (0.01 sec)
>
> mysql> delete  from foo1 WHERE k="mine";
> Query OK, 1 row affected (0.00 sec)
>
> mysql> select * from foo1 WHERE k="mine";
> Empty set (0.01 sec)
>
> Normal memcache clients can read the data and the engine will work
> with triggers.
>
> Cheers,
>
>         -Brian
>
> --
> _______________________________________________________
> Brian "Krow" Aker, brian at tangent.org
> Seattle, Washington
> http://krow.net/
> http://tangent.org/
> _______________________________________________________
> You can't grep a dead tree.
>
>
>
>


More information about the memcached mailing list