11

Redis 允许将数据存储在 16 个不同的“数据库”(0 到 15)中。有没有办法让每个数据库利用内存和磁盘空间。INFO 命令仅列出每个数据库的键数。

4

2 回答 2

5

不,您不能单独控制每个数据库。这些“数据库”仅用于数据的逻辑分区。

您可以做的(取决于您的特定要求和设置)是旋转多个 redis 实例,每个实例执行不同的任务,并且每个实例都有自己的redis.conf带有内存上限的文件。磁盘空间不能被限制,至少 Redis 级别不能。

旁注:请记住,16 个数据库编号不是硬编码的 - 您可以将其设置为redis.conf.

于 2012-11-02T05:32:42.247 回答
0

我通过调用dumpRedis DB 中的所有键并测量使用的字节总数来做到这一点。这会减慢您的服务器并需要一段时间。看起来dump返回的大小大约比实际内存使用量小 4 倍。这些数字将使您了解哪个数据库使用的空间最多。

这是我的代码: https ://gist.github.com/mathieulongtin/fa2efceb7b546cbb6626ee899e2cfa0b

于 2016-10-12T20:04:49.063 回答