gpt4 book ai didi

redis - 将Redis 4生成的RDB文件加载到Redis 5中

转载 作者:可可西里 更新时间:2023-11-01 11:14:13 28 4
gpt4 key购买 nike

我正在尝试将 Redis 4 生成的 RDB 文件加载到 Redis 5 中,但没有数据可见。

我只是将 RDB 文件复制到 Redis 5 期望的位置(我双重和三次检查它是正确的位置),启动 Redis 5 并且它启动时没有错误:

27066:C 06 Aug 2019 20:22:34.304 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
27066:C 06 Aug 2019 20:22:34.304 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=27066, just started
27066:C 06 Aug 2019 20:22:34.304 # Configuration loaded
27067:M 06 Aug 2019 20:22:34.306 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.5 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 27067
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'

27067:M 06 Aug 2019 20:22:34.307 # Server initialized
27067:M 06 Aug 2019 20:22:34.574 * DB loaded from disk: 0.268 seconds
27067:M 06 Aug 2019 20:22:34.574 * Ready to accept connections

0.26 秒 实际上表明它确实加载(或尝试加载)RDB 文件。当没有 RDB 文件时,它会显示 0.00 秒

但是没有数据:

$ redis-cli
127.0.0.1:6379> keys *
(empty list or set)

非常奇怪的是,即使我设置了一个键并调用save,Redis 4 中的RDB 文件也没有改变:

127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> keys *
1) "foo"
127.0.0.1:6379> save
OK
(0.51s)
127.0.0.1:6379> exit

$ ls /var/redis/
total 27M
drwxr-xr-x 2 root root 4.0K Aug 6 20:32 .
drwxr-xr-x 14 root root 4.0K Aug 6 18:40 ..
-rw-r--r-- 1 root root 27M Aug 6 20:32 redis.rdb

当我重新启动 Redis 时,“foo”键仍然存在,因此它必须保存在 RDB 文件中的某个位置。

Redis 5 是否只是忽略由 Redis 4 创建的 RDB 文件中的所有数据,并附加它自己的数据?如果是这样,为什么在启动时没有通知它,类似“警告:找到以前版本的 Redis 的 RDB 文件,忽略...”

编辑

好的,我找到了下面的语句here :

An RDB file is forwards compatible. An older dump file format will always work with a newer version of Redis.

所以它应该 工作。但为什么不呢?

最佳答案

您提供的所有信息表明 RDB 确实已加载。

但是。根据您的数据, key 可能存储在不同的逻辑数据库中,KEYS * 仅在默认数据库 (0) 上运行。相反,请尝试执行 INFO 命令并检查“Keyspace”部分以查看您的 key 是否存储在不同的逻辑数据库中。

关于redis - 将Redis 4生成的RDB文件加载到Redis 5中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57383674/

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