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

问题描述:

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

我在MySQL中有一个myisam表,它基本上用作我想“移动”到Redis的键值存储,因此它将超快。是否有捷径可寻?

谢谢。

+0

这个问题看起来像很久以前的炼金术士活动:-) – zerkms 2011-04-12 05:36:37

最简单的方法是让MySQL表的转储和解析相关数据输入到redis命令中。

例如,数据转储将产生类似下面的:你需要你想在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'); 

第一。一个想法是使用表格作为关键字并将每行的ID存储在一个集合中。

对于每个表,您需要创建一个可以保存ID的密钥,让我们调用它们为idx:$ table。使用我们的例子,我们将创建idx:carousel。当我们解析文件时,我们将从第一列值(在这种情况下)中提取id并将它们存储在idx:carousel中。我们也会将每个INSERT存储为一个散列。要做到这一点,我们命名关键轮播:$ id并使用命令hmset。例子中的第一个INSERT将存储这样的:

hmset转盘:3路“7.JPG”标题“Inspirar”意见“灵感”

这可能听起来比它更复杂实际上是,但它非常简单。如果你认为这有点太难,我愿意为你写一篇。

希望有所帮助。

+0

如何解析文件? – Jagrati 2016-08-30 13:39:40

我不知道任何会自动执行这样的事情的实用程序,你可能必须自己写一个。您可以在http://redis.io/clients处获得您的首选语言的客户端库。

这听起来像一个相当简单的任务,但便于将完全取决于您的舒适和经验与大家写的语言。

创建每列的Redis列表并将每列的所有数据放入该列表中。并使散列存储每个表的列表。例如通过创建电子邮件,身份证,用户名和姓氏列表以及包含电子邮件,身份证,用户名的哈希列表,可以将具有列电子邮件,ID,用户名,姓氏的表格存储在redis中。