redis中的最大数据库数

时间:2016-04-20 06:13:26

标签: caching redis nosql

在redis中,选择“number”可以访问该索引处的特定数据库。我的redis配置它设置为16(为什么?)。我们需要高度扩展我们的应用程序,那么它的最大限制是什么?

3 个答案:

答案 0 :(得分:1)

Redis数据库的默认数量为16,但可以配置为更多。由于该默认设置,您的配置中可能有16个(请参见Storing Data with Redis)。

数据库(在Redis中)是一种逻辑上对数据进行分区的方法(请考虑“名称空间”,“键空间”,或者用RDBMS术语来说是架构)。 Redis数据库与可伸缩性无关,​​因此您的“最大限制”问题不在上下文之内。

要进行扩展,您可以按照Sergio在他的评论中建议的方式进行操作:为单独的应用程序创建单独的Redis实例/群集。

答案 1 :(得分:1)

答案:1百万(也许)或在Linux上100K(也许)

官方信息

因此,official documentation指示默认设置为16。可以在redis.conf中进行更改。官方文档未在此处指明允许的范围。

原始研究

通过在本地Windows 10 WSL Debian安装上进行的试验,我发现我可以将conf值设置为任何值,并且服务器可以正常启动。

但是,当我随后尝试通过命令行选择数据库时,计算机将冻结。我尝试了几种值,该系统以100万(一百万)的速度完美运行,然后冻结为1000万(一千万)。这个数字在计算机世界中似乎是任意的,因此它要么是内存限制(似乎不太可能,但我不知道WSL的内存处理),要么是开发人员设置的任意限制。

我在CentOS 7 Box上进行了一些类似的测试,redis拒绝从100万开始。但起初罚款十万。不知道为什么它与Windows系统不同,或者为什么它被拒绝启动而不是在选择了像WSL版本这样的数据库后才启动却失败。

免责声明

正如@kit在他先前的回答中已经指出的那样,数据库不是为“缩放”而设计的,而是为“命名空间”设计的。例如,一个SAAS可以运行一个代码库,但可以运行数百个客户端,每个客户端都具有自己的“命名空间”或redis数据库。这使您可以刷新客户端而不影响其他客户端,并最大程度地减少管理开销。但是,运行数十个独特的wordpress实例将更适合每个独特的redis安装。

答案 2 :(得分:0)

Redis 默认的数据库数量是 16,索引:0~15。你可以编辑你的 redis.conf 文件来调整这个数量:

步骤:

1)编辑配置文件

vi /etc/redis.conf
<块引用>

与 Yum 一起安装时,Centos 上的默认配置路径为 /etc/redis.conf

2)查找关键字:"databases"

# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1
databases 16
<块引用>

databases 16:16 是新安装的默认值

3)更新数据库数量:

databases 30

4)结束,保存退出