我目前正在研究一个项目,我们考虑将其切换为Redis作为数据库。我们的数据的性质非常简单,似乎适用于Redis。 没有Redis的经验,我做了一个非常小的基准测试,将其与PostgreSQL在插入性能(这对我们很重要)方面进行比较。Redis在插入时似乎比PostgreSQL慢
我创建了一个包含200000个INSERT语句的.sql文件,并将其写入一个简单模式(address [key], timestamp, value)
。插入花费了大约6秒钟。
对于Redis的,每个200000条记录由插入:
HSET data:address timestamp <VALUE>
HSET data:address value <VALUE>
倾倒到一切Redis的与time redis-cli < insert_data.redis
需要16秒。 我意识到这个'基准'是非常基本的,但我错过了让PostgreSQL出现在顶端的东西吗?我无法真正想象Redis实际上插入速度较慢。
PostgreSQL需要多长时间?你是否尝试过流水线请求?客户端开销可能会降低整体时间。 –
这是6s(Redis)vs 16s(PostgreSQL)。我试过'猫的数据。txt | redis-cli --pipe'首先,因为这是在这里描述:https://redis.io/topics/mass-insert,似乎更合理。但是,上面显示的HSET语句不被接受,而是我接收到语法错误消息。 – user318592009
什么是错误? –