3

I've noticed MySQL could use Memcached NoSQL with InnoDB but I can't retrieve information about how to use it.

I want to use with PHP.

Are NoSQL queries standard?

Community
  • 1
  • 1
Rutrus
  • 962
  • 9
  • 22
  • 1
    http://stackoverflow.com/questions/17481866/using-mysql-5-6-memcache might be helpfull – Steve Jul 21 '14 at 11:55
  • possible duplicate of [MySQL and NoSQL: Help me to choose the right one](http://stackoverflow.com/questions/4419499/mysql-and-nosql-help-me-to-choose-the-right-one). Not fully duplicate, but could help you, it has many resources. – ClmentM Jul 21 '14 at 11:55
  • Thank you for the links, they was helpfull. It's not duplicated, but related. I've continued retrieving information. – Rutrus Jul 22 '14 at 01:35
  • 1
    Another useful article, comparing performance of native Memcached, Memcached interface to InnoDB, and SQL interface to InnoDB: [MySQL 5.6 InnoDB Memcached Plugin as a caching layer](http://www.mysqlperformanceblog.com/2013/03/29/mysql-5-6-innodb-memcached-plugin-as-a-caching-layer/) – Bill Karwin Jul 22 '14 at 02:31

1 Answers1

1

First of all, MySQL only support memcached with NoSQL since version 5.6. Today this version it's not update yet in linux repositories and must be manually installed, specially in servers, e.g. MySQL --version (ubuntu) is 5.5.38 ; (RedHat server) 5.1

You also must install libevent-dev e.g:

Still some hacks are needed, and you must install memcache interface plugin for MySQL located in $MYSQL_HOME/share.

I found a well explained post how to install and try it: http://chipersoft.com/p/MySQL-via-Memcache/

Due to its young state, it's not for production servers.

Use it with PHP is easy because memcache is a native module in PHP when you have php5-cli and php5-memcache installed:

<?php
$memcache = new Memcache;
if (!$memcache->connect('localhost', 11211)) throw new Exception("Could not connect");

if (!$memcache->set('bar', 'John|Smith')) throw new Exception("Could not store value");

$memcache->get('@@aaa'); //switch containers
$result = $memcache->get('AA');

var_dump($result);

Conclusion, this method let you work with MySQL and NoSQL simultaneously. Memcache offers a quick, NoSQL way to retrieve and work with data in a well different manner than SQL.

Edit: Another useful link was this post by Tony Darnell

Rutrus
  • 962
  • 9
  • 22