mysql 5.6.4支持nosql

在最新的 mysql-5.6.4-labs-innodb-memcached 中,實現了簡單的給予 key/value的nosql功能,其主要原理
就是mysqld除了監聽3306端口之外,同時監聽11211端口。使mysqld和memcached服務處在同一進程中。通過
數據庫、表與字段的映射,將緩存在memcache的數據插入到映射的表中。安裝包中提供了三張表:containers
cache_policies和config_options,表containers就提供了映射關係,表cache_policies提供了三種存儲方式(
innodb_only數據只插入表,cache_only只緩存數據,caching即緩存數據又插入表),表config_options中提供
了一個默認分隔符“|”,就是說如果在表containers的values字段中定義了col1,col2...字段,那在設置緩存值時就
可以用val1|val2的形式,這樣將會把val1插入到col1,val2插入到col2。
新版中提供了兩個重要文件:
1) libmemcached.so: this is the memcached daemon plugin to MySQL
2) innodb_engine.so: this is an InnoDB API plugin to memcached
安裝了插件 libmemcached.so之後,那麼memcache就可以通過innodb提供的API直接訪問mysql,快捷方便。

安裝方式

基本安裝可以參考安裝包中的INSTALL-BINARY文件,其中一段如下:


然後可以通過 ln 做一下軟鏈接
commands:ln -s path(path爲mysql安裝包目錄) /usr/local/mysql

安裝配置表

在安裝包的scripts文件夾下有innodb_memcached_config.sql,將文件導入到mysql中
commands:/usr/local/mysql/bin/mysql -uroot -P 3306 -S /tmp/mysql.sock < path/scripts/innodb_memcached_config.sql
執行完之後再執行:/usr/local/mysql/bin/mysql,將會出現innodb_memcache數據庫,默認containers配置是將緩存的數據插入到test
數據庫中的demo_test表中,字段c1爲緩存key,字段c2爲緩存數據......

安裝innodbmemcache插件

可以通過:show variables like '%memcache%'; 查看插件是否安裝
連接mysql,安裝commands:install plugin daemon_memcached soname "libmemcached.so";
成功之後將memcache服務安裝上

測試

通過telnet 127.0.0.1 11211 連接memcache,簡單測試
set a11 10 0 9
123456789
STORED
get a11
VALUE a11 0 9
123456789
END
這樣就緩存了一條數據,這時候去數據庫查看test.demo_test,並不能查到這條數據,這句翻譯不好:

1) If you would like to take a look at what’s in the “demo_test” table, please remember we had batched the commits (32 ops by default) by default.

So you will need to do “read uncommitted” select to find the just inserted rows:

mysql> set session TRANSACTION ISOLATION LEVEL
-> read uncommitted;

反正就是執行上面語句,將讀設置爲不受限制,然後再執行:select * from test.demo_test;就會查到兩條數據,這樣恭喜你,你成功了!

有興趣請深入研究,也可以研究一下mysql集羣處理,mysql-cluster最新版本7.2.4


參考資料

http://blogs.innodb.com/wp/2011/04/nosql-to-innodb-with-memcached/ 簡述其特點

http://blogs.innodb.com/wp/2011/04/get-started-with-innodb-memcached-daemon-plugin/ 插件安裝及測試

http://blogs.innodb.com/wp/2011/10/innodb-memcached-with-binlog-capability/ 二進制日誌即關係到數據備份的一些東西

http://labs.mysql.com/ mysql-innodb-memcache安裝包下載,目前只支持linux




發佈了20 篇原創文章 · 獲贊 6 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章