相关疑难解决方法(0)

用于烧瓶应用的内存存储

我的烧瓶应用程序将一些数据存储在数据库中 如果我的应用程序已关闭一段时间,我希望丢弃此数据.这样做的原因是我想确保我没有错过任何REST调用我的应用程序.

明显而有效的解决方案是将这些数据存储在内存中,但我对任何解决方案都是开放的(例如,在应用程序重启时删除旧记录).

python flask

7
推荐指数
1
解决办法
4449
查看次数

如何以及何时使用/ dev / shm来提高效率?

/dev/shm与在常规文件系统上写入文件相比,效率如何?据我所知,/dev/shm硬盘上也是一个空间,因此读/写速度是相同的。

我的问题是,我有96GB的文件,只有64GB的RAM(+ 64GB交换空间)。然后,来自同一进程的多个线程需要读取文件的随机小块(大约1.5MB)。

这是/dev/shm一个很好的用例吗?
它会比以只读模式从中打开文件/home然后传递给线程来读取所需的随机块更快吗?

linux filesystems io performance shared-memory

6
推荐指数
1
解决办法
7648
查看次数

多个 SQLite 连接到 :memory 中的数据库:

是否可以从不同线程访问内存中的 SQLite 数据库?

在以下示例代码中,我在内存中创建了一个 SQLite 数据库并创建了一个表。当我现在转到不同的执行上下文时,我认为当我转到不同的线程时必须这样做,创建的表不再存在。如果我打开一个基于文件的 SQLite 数据库,表就会在那里。

我可以为内存数据库实现相同的行为吗?

from peewee import *
db = SqliteDatabase(':memory:')

class BaseModel(Model):
    class Meta:
        database = db

class Names(BaseModel):
    name = CharField(unique=True)

print(Names.table_exists())  # this returns False 
Names.create_table()
print(Names.table_exists())  # this returns True

print id(db.get_conn())  # Our main thread's connection.

with db.execution_context():
    print(Names.table_exists())  # going to another context, this returns False if we are in :memory: and True if we work on a file *.db
    print id(db.get_conn())  # A separate connection.

print id(db.get_conn())  # …
Run Code Online (Sandbox Code Playgroud)

python sqlite peewee

4
推荐指数
1
解决办法
2749
查看次数

删除 :memory 中的数据库文件:

背景和问题

我们在:memory:测试时使用来存储我们的数据库,并希望在每个测试用例运行之前将其删除,以便我们从每个测试用例的空数据库开始。(如果我们将数据库存储在磁盘上,我们只需删除文件)

我们的设置

  • 我们正在使用 Python 的unittest模块
  • (Python 版本:3.6)
  • 这是我们创建数据库的样子: db_connection = sqlite3.connect(":memory:")

我们如何从内存中删除我们的数据库?

python sqlite python-3.x python-unittest

4
推荐指数
1
解决办法
3801
查看次数