Redis数据持久化

0 投票
1 回答
28 浏览
提问于 2025-04-14 17:37

我想把Redis里的数据存到我的服务器硬盘上,或者其他地方,这样如果服务器突然关机或者重启,就能恢复这些数据。有没有办法在Python中做到这一点,而且不会影响Redis的读写速度呢?

1 个回答

0

Redis支持两种数据持久化方式:

  • RDB持久化:这种方法会在指定的时间间隔内对你的数据集进行快照,也就是保存一个时间点的数据。
  • AOF持久化:这种方法会记录服务器接收到的每一个写入操作,等到服务器重启时,可以通过这些记录重新构建出原来的数据集。

你可以使用这些方法将数据保存到硬盘上,而不会显著影响Redis的读写速度。下面这个例子展示了如何用Python和redis-py库连接Redis服务器并设置数据持久化:

import redis

# Connect to Redis server
r = redis.Redis(host='localhost', port=6379, db=0)

# Set key-value pair
r.set('foo', 'bar')

# Save data to disk
r.bgsave()  # This will save data in the background

bgsave()是用来在后台将数据保存到硬盘的。这意味着Redis在写数据到硬盘的同时,仍然可以继续处理请求,这样可以保持高效的性能。

撰写回答