- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我们有大型购物和产品交易系统。我们在使用 MySQL 时遇到了很多问题,因此经过几次研发后,我们计划使用 Redis,并开始将 Redis 集成到我们的系统中。继之前直接访问数据库之后,现在我们已经移动了 Redis 系统
我不仅将数据存储在 Redis 系统中,我还编写了 crons,它按时间间隔将 Redis 数据移动到 MySQL 数据中。这是我面临的主要问题。以下几点我正在寻找解决方案
最佳答案
他们还有其他方法可以将大数据从 Redis 转储到 MySQL 吗?
Redis 有可能(使用 bgsave)以非阻塞和一致的方式生成数据转储。
https://github.com/sripathikrishnan/redis-rdb-tools
您可以使用 Sripathi Krishnan 的知名软件包在 Python 中解析 redis 转储文件 (RDB),并离线填充 MySQL 实例。或者,您可以将 Redis 转储转换为 JSON 格式,并使用您想要填充 MySQL 的任何语言编写脚本。
只有当你想将 Redis 实例的完整数据复制到 MySQL 中时,这个解决方案才有用。
Redis 是否有任何触发系统可以用来避免像队列系统这样的 crons?
Redis 没有触发器的概念,但是每次必须将某些内容复制到 MySQL 时,没有什么可以阻止您在 Redis 队列中发布事件。例如,而不是:
# Add an item to a user shopping cart
RPUSH user:<id>:cart <item>
你可以执行:
# Add an item to a user shopping cart
MULTI
RPUSH user:<id>:cart <item>
RPUSH cart_to_mysql <id>:<item>
EXEC
MULTI/EXEC block 使其具有原子性和一致性。然后你只需要写一个小守护进程等待 cart_to_mysql 队列的项目(使用 BLPOP 命令)。对于每个出列的项目,守护进程必须从 Redis 获取相关数据,并填充 MySQL 实例。
Redis 无法将我们的数据存储在文件中,因此是否可以将该数据直接存储到 MySQL 数据库?
我不确定我是否理解这里的问题。但是,如果您使用上述解决方案,Redis 更新和 MySQL 更新之间的延迟将非常有限。因此,如果 Redis 失败,您只会丢失最后的操作(与基于 cron 作业的解决方案相反)。当然,在数据传播中不可能有 100% 的一致性。
关于mysql - 更快的redis数据迁移到MySQL的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12009297/
我最近开始从事一个 Sails 项目。它目前在迁移表下具有以下格式的迁移。 20160826122004-create_users_table.js 'use strict'; module.expo
当我尝试迁移时 doctrine:migrations:migrate ,我收到此异常:“元数据存储不是最新的,请运行 sync-metadata-storage 命令来解决此问题。”。这仅在尝试在生
我在 ec2 linux 7 上有一个 MarkLogic 服务器。我想将它迁移到 linux 6。我将 ebs 移动到新的 linux 6 并将其安装在 /var/opt/MarkLogic . 我
我对 OpenID 很好奇。虽然我同意统一凭证的想法很棒,但我有一些保留意见。什么是防止 OpenID 提供商发疯并持有他们拥有的 OpenID 帐户直到您支付 n 美元?如果我决定不喜欢这个提供商,
使用 SQL 很容易做到这一点,但我需要编写一个我不熟悉的 Knex 迁移脚本。以下代码在 order 表中行的末尾添加了 order_id 列。我想在 id 之后添加 order_id。我该怎么做?
使用 SQL 很容易做到这一点,但我需要编写一个我不熟悉的 Knex 迁移脚本。以下代码在 order 表中行的末尾添加了 order_id 列。我想在 id 之后添加 order_id。我该怎么做?
我想通过在 Yii2 中的迁移添加一个新列,使用以下代码: public function up() { $this->addColumn('news', 'priority', $this-
我正在尝试在 SQLDelight 的表中添加更多列。我做了一个迁移文件 1.sqm .在迁移文件中,它给出了找不到表的错误。 我的 build.gradle.kts: sqldelight {
我有一个与 Flyway DB 迁移相关的问题。通常如何管理处理相同 DB 模式的多个项目(微服务)。每个项目中的 Flyway 迁移脚本如果被其他项目修改,则不允许启动。他们是否有任何文档或最佳实践
我是 Laravel 的新手。我做了一份待办事项申请作为一项学校作业。我们必须使用迁移来创建我们的数据库。 我使用迁移创建了 2 个表。我的问题是:如果你第一次在你的电脑上运行这个项目,有没有办法自动
我正在尝试在 Laravel 中创建外键,但是当我使用 artisan 迁移表时,出现以下错误: [Illuminate\Database\QueryException] SQLSTATE[HY000
我从 Django 1.7 升级到 Django 1.9。我有多次迁移。升级后我无法再创建新的数据库。 问题是“django manage.py migrate”运行检查。检查导入应用程序 URL。这
我在创建数据迁移方面遇到了困难。我的应用程序使用两个数据库。我在 settings.py 中配置了数据库,并创建了一个像 Django docs 中一样的路由器. # settings.py DB_H
我有一个像这样的sql结构: CREATE TABLE resources ( id SERIAL PRIMARY KEY, title TEXT NOT NULL, created_at
我正在尝试使用模式构建器向表添加枚举选项(不丢失当前数据集)。 我真正能够找到的关于列更改的唯一信息是 http://www.flipflops.org/2013/05/25/modify-an-ex
我尝试转移到一些 CMake 程序中,并且有一个从 xml 生成头文件的函数。 生成文件.am adaptor_glue.hpp: dbus_introspect.xml $(DBUSXX_X
我想将文件移至我的 iOS 应用程序的 CoreData 存储 ../Library/Application Support/MyApp/ 至 ../Documents/Stores/ 我可以使用 N
有没有人对数据迁移进出 NetSuite 有丰富的经验?我必须将 DB2 表导出到 MySQL,处理数据,然后导出到一个 CSV 文件中。然后获取帐户的 CSV 文件并再次操作数据以使帐户从我们的旧系
我正在尝试在 Django 上建立一个博客。我已经走到了创建模型的地步。他们在这里: from django.db import models import uuid class Users(mode
我最近使用 bluehost 上的 AutoSSL 工具将网站迁移到 HTTPS。我在内容中看到一些失真,例如缺少背景颜色、表格位移、缺少_logos 等。 有谁知道 HTTPS 迁移效果如何影响样式
我是一名优秀的程序员,十分优秀!