Introdução
PickleDB é um banco de dados leve do tipo chave-valor, escrito em Python puro e que não requer a instalação de servidores ou dependências adicionais. Esta biblioteca oferece uma solução simples para armazenar pequenos volumes de dados em formato JSON, tornando-a a escolha ideal para protótipos rápidos, utilitários de linha de comando, arquivos de configuração e microprojetos.
A principal vantagem do PickleDB é a facilidade de uso, mantendo funcionalidades suficientes para resolver uma ampla gama de tarefas de armazenamento de dados. A biblioteca suporta vários tipos de dados: strings, números, listas, dicionários e valores booleanos.
O que é PickleDB e onde é usado
PickleDB é um banco de dados NoSQL que armazena dados como pares chave-valor em um arquivo JSON. A biblioteca foi criada como uma alternativa para casos onde o uso de sistemas de gerenciamento de banco de dados completos, como PostgreSQL ou MySQL, é excessivo.
As principais áreas de aplicação do PickleDB incluem:
- Armazenamento de configurações e preferências do usuário
- Cache de resultados intermediários de cálculos
- Salvamento de tokens de autenticação e chaves de API
- Manutenção de logs e contadores simples
- Criação de protótipos rápidos com persistência de dados
- Desenvolvimento de aplicações CLI com armazenamento local
Instalação e configuração inicial
Para instalar o PickleDB, use o gerenciador de pacotes padrão do Python:
pip install pickledb
Após a instalação, a biblioteca está pronta para uso sem configuração adicional:
import pickledb
# Criar ou conectar a um banco de dados
db = pickledb.load('database.db', auto_dump=True)
O parâmetro auto_dump=True garante o salvamento automático de todas as alterações no arquivo, assegurando a integridade dos dados mesmo em caso de encerramento inesperado do programa.
Arquitetura e princípios de funcionamento
Estrutura de armazenamento de dados
O PickleDB usa JSON como formato de armazenamento, o que garante a legibilidade dos dados e sua portabilidade entre diferentes sistemas. O arquivo do banco de dados é um documento JSON comum com a seguinte estrutura:
{
"simple_key": "valor string",
"numeric_key": 42,
"boolean_key": true,
"list_key": ["item1", "item2", "item3"],
"dict_key": {
"nested_field": "valor aninhado",
"nested_number": 100
}
}
Mecanismo de salvamento
Ao trabalhar com PickleDB, todos os dados são carregados na memória durante a inicialização do banco. As alterações são aplicadas ao objeto em memória e, em seguida, dependendo das configurações, salvas no arquivo:
- Com
auto_dump=True— o salvamento ocorre após cada operação de escrita - Com
auto_dump=False— é necessário chamar manualmente o métododump()
Guia completo de métodos e funções do PickleDB
Métodos principais para manipulação de dados
| Método | Descrição | Exemplo de uso |
|---|---|---|
set(key, value) |
Salva um valor para uma chave | db.set('nome', 'João') |
get(key) |
Obtém o valor de uma chave | nome = db.get('nome') |
exists(key) |
Verifica se uma chave existe | if db.exists('nome'): |
rem(key) |
Remove uma chave e seu valor | db.rem('nome') |
getall() |
Retorna todas as chaves | chaves = db.getall() |
totalkeys() |
Retorna o número de chaves | quantidade = db.totalkeys |