Сохранение python в памяти sqlite

Можно ли сохранить базу данных sqlite в памяти на жесткий диск? Если это возможно, некоторый код python будет потрясающим.

Заранее спасибо.

РЕДАКТИРОВАТЬ:

Мне удалось выполнить эту задачу, используя apsw. Отлично работает. Спасибо за ваш вклад.

4 Solutions collect form web for “Сохранение python в памяти sqlite”

(Раскрытие информации: Я автор APSW)

Единственный безопасный способ сделать двоичную копию базы данных – использовать API-интерфейс резервного копирования, который является частью SQLite и доступен APSW. Это делает правильные вещи с упорядочением, блокировкой и параллелизмом.

Чтобы создать SQL (текстовую) копию базы данных, используйте оболочку APSW, которая включает в себя реализацию .dump, которая очень полная. Вы можете использовать cursor.execute (), чтобы вернуть SQL обратно в базу данных.

На недавних платформах вы вряд ли увидите большую разницу между базой данных памяти и дисковой (при условии, что вы отключили ведение журнала на диске), поскольку операционная система поддерживает кеш файловой системы. Старые операционные системы, такие как Windows XP, имели конфигурацию по умолчанию, использующую только 10 МБ памяти для кеша файлов независимо от того, сколько у вас RAM.

Да. Когда вы создаете соединение с базой данных, замените :memory: на путь, в котором вы хотите сохранить БД.

sqlite использует кеши для файловых баз данных, поэтому это не должно быть (намного) медленнее.

В документации на python iterdump() вы можете использовать метод iterdump() для создания дампа файла .sql в вашей базе данных в памяти, а затем тривиально применять этот файл .sql к новой базе данных файлов sqlite.

 # Convert file existing_db.db to SQL dump file dump.sql import sqlite3, os con = sqlite3.connect('existing_db.db') with open('dump.sql', 'w') as f: for line in con.iterdump(): f.write('%s\n' % line) 

Откройте базу данных на базе диска и просто скопируйте все из одного в другое.

  • Как правильно установить AUTO INCREMENT для столбца в SQLite, используя Python?
  • как заставить SQLlite выбрать для поведения транзакции обновления в sqlalchemy
  • Передача значения из выпадающего меню в шаблон фляги
  • Могут ли два процесса одновременно работать в базе данных (: memory :) sqlite database?
  • Каковы реальные уровни абстракции базы данных для Python
  • sqlite: проверка блокировки чтения / записи
  • Создать сводную («сводную»?) Таблицу
  • Сохранение и преобразование даты SQLite
  • AUTO_INCREMENT в проблеме sqlite с python
  • Использование `executemany` для обновления записей в существующей базе данных SQLite3 (с использованием Python sqlite3)
  • Использование инструкции WHERE ___ IN ___
  • Python - лучший язык программирования в мире.