有没有一种简单的方法可以将MySQL表转换为Redis等价物?

eri*_*ric 7 mysql myisam redis

有没有一种简单的方法可以将mysql表转换为redis等效表?

我在MySQL中有一个myisam表,基本上用作键值存储,我想"移动"到Redis,所以它会超级快.是否有捷径可寻?

谢谢.

Llo*_*ore 8

最简单的方法是获取mysql表的转储并将相关数据条目解析为redis命令.

例如,数据转储会产生如下内容:

CREATE TABLE carousel(
  id int(11),
  path varchar(200),
  title varchar(200),
  comments varchar(200)
);

INSERT INTO carousel VALUES (3,'7.jpg','Inspirar','inspiration');
INSERT INTO carousel VALUES (4,'d.jpg','Pilotar','pilotar');
INSERT INTO carousel VALUES (5,'8.jpg','Sentir','sentir');
INSERT INTO carousel VALUES (6,'6.jpg','Volar','volar');
Run Code Online (Sandbox Code Playgroud)

首先,您需要决定要在redis中使用的密钥结构.一种想法是使用表作为键并将每行的ID存储在一个集合中.

对于每个表,您需要创建一个容纳ID的键,让我们称之为idx:$ table.使用我们的示例,我们将创建idx:carousel.

在我们解析文件时,我们会从第一列值(在本例中)中提取ID并将它们存储在idx:carousel中.我们还将每个INSERT存储为哈希.为此,我们将密钥轮播命名为:$ id并使用命令hmset.示例中的第一个INSERT将存储如下:

hmset carousel:3路'7.jpg'标题'Inspirar'评论'灵感'

它可能听起来比实际上更复杂,但它非常简单.如果你觉得有点太困难,我愿意为你写一个.

希望有所帮助.