欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL NoSQL – Memcached 插件

程序员文章站 2024-02-02 09:09:46
...

大多数人都已经听说 NoSQL 数据库,其中使用最广泛的工具是 Memcached,你们通过 Memcached 再应用层和数据库之间添加一个缓存层

大多数人都已经听说 NoSQL 数据库,其中使用最广泛的工具是 Memcached,你们通过 Memcached 再应用层和数据库之间添加一个缓存层。从 MySQL 5.6 开始,你可以获得一个全新的插件,这个插件把 MySQL 和 Memcached 集成起来。在此文中,我们将学习怎样在 Linux 中 安装这个插件,怎样做一些基础的配置。

MySQL NoSQL – Memcached 插件

先决条件

安装 libevent。

译者注:以下命令由译者提供。

命令如下:

译者注:我的操作系统版本是 RHEL 6.5,而作者的 OS 版本为 CentOS。以下是我的 MySQL 版本。

安装

安装 Memcached 支持,我们需要创建一些为 MySQL 和 Memcached 集成服务的表。MySQL 已经包含了创建这些表的文件(innodb_memcached_config.sql),你可以在你的 basedir 子目录中找到这个文件。为了找到你的 basedir 在什么地方,运行如下命令:

如果你通过发行版仓库安装 MySQL,这个文件的路径如下:$basedir/share/mysql/innodb_memcached_config.sql

如果你使用 MySQL 二进制版本,这个文件的路径如下:$basedir/share/innodb_memcached_config.sql

现在,我们将运行这个 SQL 文件。默认情况下,这个脚本在 test 数据库中创建一个 test 表,但是在我们的测试中,我们将使用 memcached 数据库。

译者注:操作日志中的时间可能跟原文不同,以下日志来自自己的实验。

现在,让我们创建我们自己的表,用于存放 Memcached 数据:

下一步是在 MySQL 中安装 Memcached 插件。为了实现这个功能,我们将会使用INSTALL PLUGIN 命令:

验证此插件是否成功安装,我们可以运行如下命令:

配置和使用

现在,,我们将会通过一种编程语言——PHP,比如使用这种方式:

译者注:原文是 new Memcached(),此处改为 new Memcache(),以下的 PHP 脚本均为 new Memcache()。

现在,让我们看看在 MySQL 中存储了些什么?

如果我们在 MySQL 中手动更改一个记录,会发生什么?

如果我们想存放条目到不同的 MySQL 表,那么又会怎样?

我们仅仅需要创建一个新的表,添加一个新的容器,并且使用在 innodb_memcache 数据库的 config_options 表定义的分隔符。

我们已经创建一个名为 dados2 的新表,并且添加了一个新的名为 bbb 的容器指向那个表,现在我们仅仅需要在 Memcached 中使用它作为前缀即可。

我们也可以映射这个表,将存储的值分为单独的域。

我们将会使用这个字符来把值存储到不同的列中。让我们创建一个表,添加到一个新的容器中(我们将会指定新的分隔符——逗号’,’,来存放我们的数据):

现在,让我们创建一个产品数组,然后添加这些数据到 Memcached 中。

服务器/服务 重启

让我们看看如果我们重启 MySQL 服务(重启服务器通用适用)会发生什么?

这些存储在 Memcached 中的数据在 MySQL 服务重启之后仍然会存在吗?

换句话说!即使服务重启或者服务器重启,这些数据仍然会存在。

SELinux

在 SELinux 启用的环境中,会阻止 Memcached 和 MySQL 集成,因为不允许监听 Memcached 端口,下面是一个怎样允许监听 Memcached 端口的例子(我使用 CentOS Linux 分发版):

在 /var/log/audit/audit.log 中查找包含 mysqld 和 denied 关键字的条目,如果你能找到,输入如下的命令来创建一个新的 SELinux 模块来允许:

译者注:以下为译者添加,用于测试在 SELinux 环境下,MySQL 和 Memcached 的集成。

Memcached 选项

如果你想更改任何 Memcached 特殊的选项,你可以在 MySQL 的配置文件中添加daemon_memcached_option 参数,比如更改 Memcached 端口:

  • # In the configuration file, my.cnf generally
  • 就是这样,我希望你已经学会了如何安装和配置 MySQL 和 Memcached 插件的集成工作。

    本文永久更新链接地址