base de dados em memória em Python
Estou a fazer algumas perguntas em Python numa grande base de dados para obter estatísticas da base de dados. Quero que estas estatísticas estejam em memória para que outros programas possam usá-las sem ir a uma base de dados.
Eu estava pensando em como estruturá-los, e depois de tentar montar alguns dicionários aninhados complicados, eu percebi que uma boa representação seria uma tabela SQL. Mas não quero guardar os dados na base de dados persistente. Existem implementações em memória de um banco de dados SQL que suporta questionar os dados com a sintaxe SQL?
19
3 answers
SQLite3 pode funcionar. A interface Python suporta a implementação na memória que a API C SQLite3 oferece.
Da especificação:
Também é relativamente barato com transacções, dependendo do que estás a fazer. Para começar, apenas: [[5]}Você também pode fornecer o nome especial : memória: criar um banco de dados em RAM.
import sqlite3
conn = sqlite3.connect(':memory:')
Pode então proceder como se estivesse a usar uma base de dados regular.
Dependendo dos seus dados - se pode sobreviver com a chave/valor (strings, hashes, lists, sets, Sets ordenados, etc) - Redis pode ser outra opção a explorar (como mencionou que queria partilhar com outros programas).
33
Author: Tim Post, 2014-03-07 15:18:32
1
Author: zengr, 2010-06-15 17:24:05
É possível usar uma base de dados como SQLite . Não é estritamente falando em memória, mas é bastante leve e seria completamente separado de seu banco de dados principal.
0
Author: Matthew Vines, 2010-06-15 17:19:53