草庐IT

持久化

全部标签

redis - Redis中使用RDB+AOF混合持久化时如何自动flush appendonly.aof?

我正在尝试在具有以下配置的Redis中使用混合持久性(RDB+AOF作为尾部):aof-use-rdb-preambleyesappendonlyyessave101#我假设来自https://github.com/antirez/redis/blob/4.0/redis.conf#L746-L782当Redis重新启动时,它会从[RDB文件][AOF尾部]加载种子数据。我希望每次写入RDB时,AOF文件都会被刷新,以便只保留尾部(自上次RDB保存以来的最新更新)。这可以通过一些配置实现吗? 最佳答案 不,这不可能。尽管AOF有一个

mysql - 具有持久连接的 Nodejs (MySQL/Redis)

我想知道与MySQL/Redis建立/保持连接的最佳方式是什么(来自nodejs):存储在一个对象中(conn)或创建一个新的对象每个请求的连接?即:1,我们应该为每个nodejshttp请求使用一个连接吗?使用连接池?还是每个新请求都有一个连接(因此重新连接应该很重要,因为连接可能会随机丢失)?性能如何?2、MySQL和Redis在维护这种连接方面有什么区别? 最佳答案 我会告诉你我过去是如何做到这一点的。1,Shouldweuseasingleconnectionforeverynodejshttprequest?Useconn

events - 有没有办法使用像redis这样的持久性数据库来延迟特定时间?

我想在两个函数调用之间插入30分钟的延迟,例如:发送fcm/sms后30分钟后发送电子邮件。我正在尝试为此使用Redis,所以我使用节点模块名称bull,它允许我创建一个具有延迟的作业并将其推送到队列中。//发送短信给用户sms(null,{to:phone,content:{msg:"testmessage"},sender:"XYZ"});//在这里我必须添加30分钟的延迟//发送通知给用户fcm(null,{user_ids:userId,message:"restart!!!"});我不想使用setTimeout,因为如果我的应用重新启动,它就不会工作。

redis - 具有持久性的数据迁移(RDB,AOF)

我已阅读Redis文档以找到标题的答案。但我找不到它。我想知道在集群节点迁移时如何操作RDB和AOF。假设在同一个集群中有2个节点。(A节点,B节点)*RDB、AOF选项开启。如果A的一些数据迁移到B,B一拿到数据就操作AOF和Snapshotting?如果不是,管理员应该明确发送命令(appendonly,BGSAVE)来保存更改的数据集?谢谢 最佳答案 无论数据的来源(用户或迁移)如何,每个节点的持久性都将按预期运行。如果配置了RDB快照,一旦达到阈值,节点B将使用新数据执行转储。AOF将继续在节点B上持续运行,任何新数据都将包

python - Celery 与 Django 中的 Redis 代理 : tasks successfully execute, 但仍然存在太多持久的 Redis key 和连接

我们的Python服务器(Django1.11.17)使用Celery4.2.1和Redis作为代理(我们使用的pipredis包是3.0.1)。Django应用部署到Heroku,Celery代理使用Heroku的RedisCloud插件设置。我们拥有的Celery任务绝对应该在一分钟内完成(中位完成时间约为100毫秒),但我们看到Redis键和连接的持续时间比这长得多(最多24小时).否则,任务正在正确执行。可能发生了什么导致我们的Redis代理中出现这些持久键和连接?我们如何在Celery任务结束时清除它们?这是发生这种情况的RedisLabs屏幕截图(所有任务都应该已完成,因此

java - Kubernetes statefulset 不使用存储类来创建持久卷

我是kubenetes的新手。我在两台机器上设置了一个kubernetes集群。当我使用有状态集部署pod时。但是kubernetes没有创建pvc。我正在做POC以在kubernets集群上安装redis集群,为此我从下面的站点url下载了一个状态集。[https://medium.com/zero-to/setup-persistence-redis-cluster-in-kubertenes-7d5b7ffdbd98]这个有状态集在minikube上运行良好,但是当我在kubernetes集群上部署它时(我用2台机器创建了它)它给出了以下错误:root@xen-727:/usr/

mysql - 如何在 Node.js 应用程序中将数据从 Redis 持久化到 MySQL

正在开发一款应用的新原型(prototype),该应用应该能够在短时间内(例如20-30分钟)每分钟处理20,000多个传入请求,并将实时结果返回给用户。示例:我显示一个是/否问题,您应该能够向我们的API发布一个带有"is"/“否”的投票,我们的API应该处理该投票并返回有关有多少人投了赞成票以及有多少人投了赞成票的实时信息投了反对票。所有这些请求都需要保存到我们的MySQL数据库中。我不认为直接将那些20K请求实时保存到数据库是一个明智的想法,因为这会给数据库带来巨大的负载,尤其是考虑到我们需要实时数据。所以我的想法是把Redis作为中间层。API写入Redis,Redis返回实时

javascript - 避免 Redis 持久化(Socket.io + Cluster + RedisStore)

我知道你可以使用Redisforthecommunicationbetweensocket.iosocketsfromdifferentclusterworkers在node.js中,也用于在这些工作人员之间共享其他对象。但我正在努力解决以下问题:Redis数据的持久化是否妨碍了这一点?当主进程关闭时,我如何确定套接字数据已从redis中删除?我怎样才能确保对象相同?我只需要这些数据,直到进程/套接字终止。也许我必须删除保存到磁盘的时间间隔并在主启动时重新加载整个Redis服务器?非常感谢。 最佳答案 您可以使用FLUSHDB从当前

azure - redis是如何工作来帮助window azure中的In session持久化的

当我们在云上部署我们的应用程序时,我们使用负载均衡器来管理流量。现在,如果用户通过负载均衡器访问服务器1,他们将与该服务器创建session,一段时间后,他们的访问将被负载均衡器引用到服务器2。他们的新session会再次创建吗?如果确实发生这种情况,并且我在他的整个交互过程中使用redis缓存来维护他们的session,那么redis如何管理跨所有服务器的持久session? 最佳答案 您需要将您的应用程序指向中央Redis缓存。您的缓存独立于您的Web应用程序运行,并且此Web应用程序的所有session数据都将存储在此Redi

java - 消息持久化 - Redis pub/sub

在channel上发布的消息会被另一端的订阅者接收。但是,如果没有找到活跃的订阅者,消息就会丢失。这是我的问题,是否可以修改Redis以在订阅者不活跃时支持消息持久化? 最佳答案 不,没有-消息在发布时发送给所有订阅者(如果有的话),并且不可持久。 关于java-消息持久化-Redispub/sub,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/43201603/