首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >redis-server需要很长时间才能在启动时加载数据集。

redis-server需要很长时间才能在启动时加载数据集。
EN

Server Fault用户
提问于 2022-10-17 16:26:04
回答 1查看 826关注 0票数 0

我的Linux发行版使用redis数据库。在启动时,redis-server需要大约80秒来加载数据集。以下是显示我所写内容的日志:

代码语言:javascript
运行
复制
redis-server[249]: 249:M 17 Oct 2022 16:29:55.173 * DB loaded from append only file: 79.442 seconds

如果Python程序在redis-server完成内存加载操作之前尝试查询数据库,则会引发异常:redis.exceptions.BusyLoadingError

异常消息错误是:Redis is loading the dataset in memory,并且符合我描述的上下文。

因为我现在使用的是redis-server的默认配置,所以我不知道redis-server所使用的持久性到底是什么类型。文件redis.conf很长,因此,在这里,我报告我认为最重要的设置:

代码语言:javascript
运行
复制
...
################################ SNAPSHOTTING  ################################
#
# Save the DB on disk:
#
#   save <seconds> <changes>
#
#   Will save the DB if both the given number of seconds and the given
#   number of write operations against the DB occurred.
# OE: tune for a small embedded system with a limited # of keys.
save 120 1
save 60 100
save 30 1000

############################## APPEND ONLY MODE ###############################
# OE: changed default to enable this
appendonly yes

# The name of the append only file (default: "appendonly.aof")
appendfilename "appendonly.aof"
...

这些设置似乎表明数据库使用的是持久性类型:Append Only File (AOF)。我认为这些配置会导致如此长的加载时间。

是否可以在引导时使用避免加载时间过长的设置?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2022-10-18 14:22:41

Redis是一个磁盘支持的全内存数据库,所以您可以缩小初始加载时的数据库大小,或者为redis提供更快的磁盘;这就是所有可供选择的方法。这与您的配置是否使用aof无关:在初始加载时,redis将必须读取所有数据,而不管它在多少文件中。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1113291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档