我想将来自数据仓库的大量数据插入到redis中,并使用ruby。
从redis-documentation我理解使用批处理命令的文件是正确的方法。
但是我不想获取所有数据,将其写在我的驱动器上(也就是写下批处理文件),只是为了可以进一步发送到redis。
有没有办法跳过这一步?我虽然 创建一些可以传递给redis的“memfile”,而存储在ram而不是硬盘上可能是一个答案,但我真的不知道这是否存在。
谢谢!
答案 0 :(得分:1)
redis-cli --pipe
。这看起来像:sh getDataFromServer.sh | redis-cli --pipe
,并且不需要你将大文件写入磁盘(尽管如果你这样做会更快,因为上面的内容取决于你的网络速度)。TL; DR;不要做你不需要的优化。如果你可以通过流水线在可预见的未来逃脱,那样做。如果你在可预见的未来需要更快的速度,那就做足够了。 除非确实需要,否则不要编写Redis协议或将Redis写入磁盘。