memory - 在 Redis 中批量设置哈希

标签 memory optimization hash redis

我试图在 Redis 中存储一些具有 ID 和一些属性的实体:

id string(30)
firstname string(20)
lastname string(20)
bio string(150)

我在文档中了解到,将其存储在 Redis 中的最佳方式是散列。这个对吗? 我以 1000 个为一批接收这些实体,我需要将它们批量存储在 Redis 中,因为一个一个地进行,我认为会非常慢。这可能吗? 关于如何存储和导入它有更好的主意吗?

最佳答案

您认为一项一项执行会很慢的假设是错误的。它不会很慢。 Redis 非常快。你可以从下面的基准中得到这个想法:-

./redis-benchmark -r 1000000 -n 2000000 -t get,set,lpush,lpop -P 16 -q
SET: 552028.75 requests per second
GET: 707463.75 requests per second
LPUSH: 767459.75 requests per second
LPOP: 770119.38 requests per second

更多基准统计数据:-

http://redis.io/topics/benchmarks

正如您提到的,实体在 1000 个批处理中,应该不会超过几毫秒。只需确保您使用的是 PIPELINE。

关于memory - 在 Redis 中批量设置哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20000076/

相关文章:

python - python中的多级字典

python - numpy数组迭代的优化

java - 克隆是否提供了优于构造函数/工厂方法的性能改进?

java - HashMap 或哈希表中的重新哈希过程

c# - SHA256 计算的哈希值似乎有问题

java - 内存:Rememo

c - malloc() 和 free() 在哪里存储分配的大小和地址?

c# - 如何在C#进程和非托管C进程之间共享快速内存?

c++ - 取消引用右值指针会产生左值吗?

C++ Boost ASIO async_send_to 内存泄漏