草庐IT

database-concurrency

全部标签

concurrency - Node.js 或 Erlang

当谈到它可以处理的并发级别时,我真的很喜欢这些工具。Erlang/OTP看起来像更稳定的解决方案,但需要更多的学习和大量深入研究函数式语言范式。看起来Erlang/OTP在多核CPU方面做得更好(如果我错了,请纠正我)。但是我应该选择哪个?从短期和长期角度来看,哪个更好?我的目标是学习一种工具,它可以比传统语言更容易地在高负载下扩展我的Web项目。 最佳答案 我会试试Erlang。尽管这将是一个更陡峭的学习曲线,但由于您将学习一门函数式编程语言,因此您会从中获得更多yield。此外,由于Erlang专为创建可靠、高度并发的系统而设计

database - Sequelize.js:如何使用迁移和同步

我的项目即将启动。我对发布后有很大的计划,并且数据库结构将发生变化——现有表和新表中的新列,以及与现有模型和新模型的新关联。我还没有接触过Sequelize中的迁移,因为我只有测试数据,我不介意在每次数据库更改时清除这些数据。为此,目前我正在运行syncforce:true当我的应用程序启动时,如果我更改了模型定义。这将删除所有表并从头开始创建它们。我可以省略force选项让它只创建新表。但是,如果现有的已经改变,这没有用。那么,一旦我添加了迁移,事情会如何运作?显然我不希望现有表(其中包含数据)被清除,因此syncforce:true是不可能的。在我帮助开发的其他应用程序(Larav

database - 如何防止数据库docker被重建而丢失生产数据

我喜欢在开发和生产环境中使用docker和docker-compose。但在我的工作流程中,我一直将docker视为一次性:这意味着如果我需要向我的docker添加功能,我编辑我的Dockerfile,然后运行​​docker-composebuild和docker-composeup-d并完成。但这一次,生产数据库也在Docker中。我仍然需要在我的环境中进行一些更改(例如,配置备份),但现在我无法重新运行docker-composebuild,因为这将意味着丢失所有data...这意味着我需要进入docker(docker-composerunweb/bin/bash)并运行其中的

ruby - Rails:在任何源中都找不到 concurrent-ruby-1.0.5 (Bundler::GemNotFound)

我已经用Google搜索了很多次,但没有发现任何对我的情况有用的东西。$docker-composeupabc在日志中产生以下内容:/usr/lib/ruby/vendor_ruby/bundler/spec_set.rb:92:in`blockinmaterialize':Couldnotfindconcurrent-ruby-1.0.5inanyofthesources(Bundler::GemNotFound)from/usr/lib/ruby/vendor_ruby/bundler/spec_set.rb:85:in`map!'from/usr/lib/ruby/vendor_

ruby-on-rails - 如何设置 database.yml 以连接到 Postgres Docker 容器?

我有一个Rails应用程序。在开发和测试环境中,我希望Rails应用程序连接到dockerizedPostgres。Rails应用程序本身不会在容器中-只是Postgres。我的database.yml应该是什么样的?我有一台dockerdefault机器正在运行。我创建了docker-compose.yml:postgres:image:postgresports:-"5432:5432"environment:-POSTGRES_USER=timbuktu-POSTGRES_PASSWORD=mysecretpassword我运行docker-composeup来运行Postgre

database - golang 和 boltdb : using closures to wrap a bucket ForEach function

在我的代码中,我使用了很多重复代码来迭代bolddb数据库中的嵌套桶。我想做一些重构,将这些重复的代码包装成新的函数。我知道我需要为此使用闭包,但是额外的db.View层让我很头疼。更准确地说,我想将bucket.ForEach函数包装成一个新函数。该函数创建数据库的View事务,选择嵌套的存储桶并返回一个新函数,让我可以遍历给定的存储桶。新创建的代码的代码签名是这样的:ForEachBucket(bucket_namestring,*bolt.DB)func(){}我要包装的代码:funcForEachBucket(bucketnamestring,db*bolt.DB){db.Vi

database - 手动编辑 boltdb 文件

我有一个使用golang编写的应用,我想创建一个builin数据库,我选择了boltdb。我有一些初始化数据想要手动植入数据库。我有database.db文件,我想将一些数据放入其中。当我打开此文件时-我看到许多“NUL”字词。如何手动编辑.db文件? 最佳答案 你不能手动编辑它,你必须编写代码来为你做这件事。 关于database-手动编辑boltdb文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

database - boltdb 是否支持并发查询来读取和更新数据库?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想要改进这个问题吗?通过editingthispost添加详细信息并澄清问题.关闭7年前。Improvethisquestion目前使用boltdb来存储桶中的各种条目。如何使用goroutines和channels在数据库中读取和更新? 最佳答案 一般是可以的,只要注意以下几点:所有访问都应该在它们自己的事务中完成。事务不应在goroutine之间共享(无论它们是只读的还是读写的)。boltdb在给定的时间点只允许一个写入器。如果多个并发事务尝试同时写入,它们将

database - BoltDB 作为后端数据库的性能

我正在考虑使用BoltDB作为后端主数据库,我的Go代码几乎没有问题;还需要您对使用BoltDB作为主要后端数据库的意见。我使用Go的net/http,并使用boltDb作为全局变量。当程序启动时,它会读取BoltDB并且文件是打开的,直到程序终止。当请求(http)发送到程序时,它将访问BoltDB。(HandleFunc)我没有使用任何channel。第一季度。最重要的问题是,BoltDB是否能够以1000个并发连接进行生产?Q2。如果有并发写查询,BoltDB会自动一一处理吗?非常感谢。我是Go和BoltDB的新手,我想知道我是否以正确的方式使用正确的数据库。

python - 与 Python 中的多处理相比,concurrent.futures 有哪些优势?

我正在用Python编写一个应用程序,我需要同时运行一些任务。模块multiprocessing提供类Process并且concurrent.futures模块具有类ProcessPoolExecutor。两者似乎都使用多个进程来执行它们的任务,但它们的API是不同的。为什么我应该使用一个而不是另一个?我知道concurrent.futures是在Python3中添加的,所以我想它更好? 最佳答案 PEP中介绍了concurrent.futures的动机。.在我的实践经验中,concurrent.futures为长时间运行的任务提交