我是Redis的新手,我不确定为什么这个查询需要这么长时间。它基本上是json对象的7mb字符串。我使用HGet key data
,它所花费的时间平均为225毫秒。这实际上比同一虚拟化环境中的sql服务器慢。他们也有相同的分配资源。Redis 225 ms检索哈希值
虚拟化环境中内置的延迟最差只有约9000
微秒。
我什至不能包装我的头周围如何完全缓存内存需要比在sql中获取相同的数据更长的时间。 redis服务器需要花费两倍的时间。下面是一个字符串示例。
[ {"name":"Christopher", "advocate": "John"}, {"name": "Jane", "advocate": "John"}, etc..]
的SQL只是完全相同的信息表。
| name | advocate |
| ---------- | -------- |
| Christopher | John |
| Jane | John |
有我丢失的东西在Hash
较大的物体,这将提高性能?如果完全相同的查询内存比sql慢,我不能证明任何人使用Redis。我明白,一旦我开始增加sql中的连接复杂性,我可以看到更多的重要性。但我认为我在Redis中可能会缺少更多的东西。
如果您需要,我可以提供更多细节。
我该怎么做才能改善时间? –
您提到了Pipes。我怎样才能增加管道的大小?你也提到它没有优化,我怎样才能更有效地返回大对象?我应该将这些对象分离为更多关键值以减小大小,并减少字段的json重复次数,并让我的键成为这些对象的表示形式? –
如果不需要操作来自Redis的JSON字段(即将数据存储为大块) - 那么我会建议使用轻量级压缩算法(LZ4,Snappy,LZO等)压缩数据客户端。 )。 –