gpt4 book ai didi

ruby-on-rails - redis 数据库的大小(2N 或 N^2)

转载 作者:IT王子 更新时间:2023-10-29 06:10:21 24 4
gpt4 key购买 nike

我有一个用 Ruby 编写的 redis 数据库和客户端。这个数据库有多大?

def follow!(user)
$redis.multi do
$redis.sadd(self.redis_key(:following), user.id)
$redis.sadd(user.redis_key(:followers), self.id)
end
end

def redis_key(str)
"user:#{self.id}:#{str}"
end

# Usage:
userA.follow!(userB)

我认为是2N,但是有人告诉我是N^2,什么是真的?

最佳答案

Redis 数据库的大小是 INFO 返回的 used_memory_human 值。由于内存优化,从给定的数据结构中猜测实际大小并不容易。最好在有限数量的项目上对其进行测试并进行推断。

在这里,假设 N 是用户数,你将在 Redis 键空间中有 2N 组。这些集合的大小取决于关注者的数量。

如果所有用户都有一个关注者并且只有一个,您将获得 2N 组 1 项,所以 2N 项。如果所有用户都有所有其他用户作为关注者,您将获得 2N 组(N-1)个项目,从而导致总共 2N(N-1)个项目。

关于ruby-on-rails - redis 数据库的大小(2N 或 N^2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11508937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com