mysql数据库键值_mysql+memcached 键值数据库

keyvalue键值数据库内存中心化设计内存中心化设计是一种进来十分流行的架构,用于解决web2.0时代数据大量读写带来的性能压力。实现思路:增加缓冲层,利用内存的

key value 键值数据库

内存中心化设计

内存中心化设计是一种进来十分流行的架构,用于解决web2.0时代数据大量读写带来的性能压力。

实现思路:

增加缓冲层,利用内存的高I/O性能

将大量的实时数据以key_value的形式在内存中处理

通过预读和合并写入等技术减少后端数据库的IO压力

key-value数据库简介

memcached 与redis

什么是memcached?

memcached 是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载。他通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态,数据库驱动网站的速度。

memcached 基于一个存储键/值对的hashmap。

web

|

memcached

|

mysql

memcached语法

memcached的服务器客户端通信兵不使用复杂的XML等格式,而是使用简单的基于文本行的协议。因此也可以用telnet在memcached上保存数据,取得数据。

memcached -d -c 10240 -m 1024 -u root

247  ps -ef|grep memcached

248  telnet 127.0.0.1 11211

249  yum install telnet -y

250  telnet 127.0.0.1 11211

mysql-memcached 之间通常没有直接联系,是通过应用程序或者中间件决定的

mysql5.6中加入了一个全新的memcached插件,通过该插件可以非常方便实现mysql与memcached的组合。使得我们可以用memcached语法操作msyql数据库,也可以使用SQL语法来操作memcached,实现了mysql对于nosql的支持

memcached Plugin:innodb——memcached、local cache

基于mysql官方插件的memcached的实现

安装:

如果使用的官方发布的rpm包安装的mysql,那么memcached插件已经附带mysql-server包中了

如果是源码包  安装mysql,则需要在编译过程中加入对应配置项

另外系统中要安装libevent包

cmake -DWITH_INNODB_MEMCACHED=ON

以mysql  rpm包来讲 或者二进制包来讲

1,先查看插件存储目录,以及文件

mysql> select @@plugin_dir;

+------------------------------+

| @@plugin_dir                 |

+------------------------------+

| /usr/local/mysql/lib/plugin/ |

+------------------------------+

1 row in set (0.00 sec)

mysql> Ctrl-C -- exit!

Aborted

[root@host1 ~]# ls /usr/local/mysql/lib/plugin/ | grep memcached

libmemcached.so

2,导入表结构

接下来,导入memcached插件所需要的表结构

[root@host1 ~]# find / -name innodb_memcached_config.sql

/usr/local/mysql/share/innodb_memcached_config.sql

mysql -h 127.0.0.1 -p < /usr/local/mysql/share/innodb_memcached_config.sql

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| innodb_memcache    | ********

| mysql              |

| performance_schema |

| t9                 |

| test               |

| viewdb             |

+--------------------+

mysql> use innodb_memcache

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;

+---------------------------+

| Tables_in_innodb_memcache |

+---------------------------+

| cache_policies            |

| config_options            |

| containers                |

+---------------------------+

3,加载、下载插件命令

之后在mysql中加载插件,使用install命令加载也可以使用uninstall卸载

如果需要重启插件,则需要先uninstall,然后在install

mysql> install plugin daemon_memcached soname 'libmemcached.so';

Query OK, 0 rows affected (0.25 sec)

mysql>uninsall plugin daemon_memcached;

4,查看插件配置信息

mysql> show variables like '%memcache%';

+----------------------------------+------------------+

| Variable_name                    | Value            |

+----------------------------------+------------------+

| daemon_memcached_enable_binlog   | OFF              |  是否把memcached操作的数据记录在binlog中,默认是关闭

| daemon_memcached_engine_lib_name | innodb_engine.so |

| daemon_memcached_engine_lib_path |                  |

| daemon_memcached_option          |                  |

| daemon_memcached_r_batch_size    | 1                |

| daemon_memcached_w_batch_size    | 1                |

+----------------------------------+------------------+

6 rows in set (0.00 sec)

5.检查memcached状态

[root@host1 ~]# ps axu | grep memcached

root     10783  0.0  0.0 331864   136 ?        Ssl  Jan20   0:01 memcached -d -c 10240 -m 1024 -u root

root     12570  0.0  0.1 103244   836 pts/2    S+   01:39   0:00 grep memcached

[root@host1 ~]# netstat -tnlp  | grep 11211

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值