Redis报错:(error) LOADING Redis is loading the dataset in memory
问题
问题描述:
大量并发望redis写入数据后,redis cli登录后,执行命令
keys xxx
Redis报错:(error) LOADING Redis is loading the dataset in memory
问题分析:
redis将之持久化的数据从新写入,等待数据写入完成之后便可正常访问app
redis.conf中maxmemory默认是3G,当redis中dump.rdb文件到达3G时,所有redis的操作都会抛出此异常。
可用内存太小,修改 redis.conf 中的 maxmemory 即可解决
redis 在启动时正在加载 dump.rdb 文件,由于加载比较慢导致 redis 在启动时不可用
总结:这是因为数据量过大,redis刚启动需要将之持久化的数据重新写入,等待数据写入完成以后即可正常访问。
解决办法:
- 删除 dump.rdb文件,redis.conf中maxmemoy设置大一些
- 同时思考,业务往redis中存储的数据量是不是过大了。