node.js - nodejs + redis 靠谱吗?

标签 node.js redis

<分区>

似乎 nodejs + redis 有一些数据丢失:

https://hallard.me/damaged-community-forum-lost-data/ https://community.nodebb.org/topic/6904/how-to-export-from-redis-to-mongodb-my-database-got-wiped/58

有没有人经历过同样的灾难并且知道除了备份整个东西之外如何解决它。

最佳答案

在我工作的公司,我们已经使用它很长时间了,它从未让我们失望过。

在我看来,你永远不应该使用你不是很熟悉的数据库,然后只有这样你才会面临保存损坏的数据或“丢失数据”等问题.

redis 会在崩溃的情况下丢失所有数据(例如,如果服务器内存用完),因此您需要使用 redis 持久化模块。

redis持久化数据模块有两种,RDB和AOF。您应该根据要存储在其中的数据的性质,有意识地选择使用哪一个(或两者)。

  • RDB 持久性以指定的时间间隔执行数据集的时间点快照。

  • AOF 持久性记录服务器收到的每个写操作,将在服务器启动时再次播放,重建原始数据集。命令以仅附加的方式使用与 Redis 协议(protocol)本身相同的格式进行记录。 Redis 能够在日志变得太大时在后台重写日志。

在这里阅读更多相关信息:http://redis.io/topics/persistence

这里引用了一篇关于使用 Redis 作为主数据库的好博客文章:

Redis persistence is not less reliable compared to other databases, it is actually more reliable in most of the cases because Redis writes in an append-only mode, so there are no crashed tables, no strange corruptions possible.

来源:https://blog.andyet.com/2012/02/09/redis-reliability-for-realtime-apps/

node 不应该影响 redis 的工作方式,它只用于与 redis 之间的数据通信,你不应该特别担心使用 node

关于node.js - nodejs + redis 靠谱吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38817783/

相关文章:

magento - 什么会导致 redis 保留旧 key ?

redis - 使用 jedis 在 ubuntu 上设置 redis 集群

tcp - ejabberd 与 Redis 配对时 Crash 是什么原因?

ruby-on-rails - Rails 5.2 和 Sidekiq : Can't find Worker Class

ruby-on-rails - 如何在 Redis 中命名和存储我的数据集?

node.js - 如何在 TypeScript 中向现有 Node 类(例如 Buffer)添加自定义静态方法?

javascript - 如何让函数等待 REST 请求

node.js - postgreSQL 的 prisma 部署命令

javascript - Express 和 AngularJS 路由

node.js - 警告 : Task "browserfy" not found