rache.data
v1.0.1
Published
Fast, secure and easy-to-use JSON database for Node.js
Downloads
474
Maintainers
Readme
RacheDB
RacheDB, Node.js için geliştirilmiş hızlı, güvenli ve kullanımı kolay bir JSON tabanlı veritabanıdır.
🚀 Özellikler
- 📦 JSON tabanlı veri depolama
- 🔍 Güçlü sorgu sistemi
- 💾 Otomatik cache yönetimi
- ⏱️ TTL (Time To Live) desteği
- 🔒 Veri şifreleme (AES-256-GCM)
- 📄 Veri sıkıştırma (GZIP)
- 🚄 Bulk operasyonlar
- 📊 Detaylı istatistikler
- 🔄 Event sistemi
📥 Kurulum
npm install rache.data
🎯 Hızlı Başlangıç
const RacheDB = require('rache.data');
// Veritabanı oluşturma
const db = await RacheDB.initialize({
name: 'mydb',
folder: 'data',
cache: true
});
// Veri ekleme
await db.set('users', 'user1', {
name: 'John Doe',
age: 30
});
// Veri okuma
const user = await db.get('users', 'user1');
// Veri silme
await db.delete('users', 'user1');
📚 Detaylı Kullanım
Güvenli Veritabanı Oluşturma
const db = await RacheDB.initialize({
name: 'securedb',
folder: 'data',
compression: true,
encryption: true,
encryptionKey: 'your-32-character-secret-key-here'
});
Sorgu İşlemleri
// Basit sorgu
const youngUsers = await db.find('users', { age: { $lt: 30 } });
// Sıralama ve limit
const topUsers = await db.find('users', {}, {
sort: { score: 'desc' },
limit: 10
});
Bulk İşlemler
// Çoklu veri ekleme
const users = {
'user1': { name: 'John', age: 30 },
'user2': { name: 'Jane', age: 25 }
};
await db.bulkSet('users', users);
// Çoklu veri okuma
const keys = ['user1', 'user2'];
const retrievedUsers = await db.bulkGet('users', keys);
TTL (Otomatik Silme)
// 1 saat sonra silinecek veri
await db.set('sessions', 'token123', {
userId: 'user1'
}, { ttl: 3600 });
📊 İstatistikler
const stats = await db.getStats();
console.log(stats);
🔄 Events
db.on('set', (data) => {
console.log('Veri eklendi:', data);
});
db.on('delete', (data) => {
console.log('Veri silindi:', data);
});
⚙️ Konfigürasyon Seçenekleri
| Seçenek | Tip | Varsayılan | Açıklama | |---------|-----|------------|-----------| | name | string | 'db' | Veritabanı adı | | folder | string | 'data' | Veri klasörü | | cache | boolean | true | Cache aktif/pasif | | compression | boolean | false | Sıkıştırma | | encryption | boolean | false | Şifreleme | | debug | boolean | false | Debug modu | | autoSave | boolean | true | Otomatik kayıt |
🔒 Güvenlik
- AES-256-GCM şifreleme
- Güvenli anahtar yönetimi
- GZIP sıkıştırma
- Atomic dosya işlemleri
🎯 Performans
- Hızlı cache sistemi
- Bulk operasyonlar
- Optimize edilmiş dosya I/O
- Bellek yönetimi
📝 Lisans
MIT
🤝 Katkıda Bulunma
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing
) - Commit edin (
git commit -m 'Add amazing feature'
) - Push edin (
git push origin feature/amazing
) - Pull Request açın
📞 İletişim
- GitHub: github.com/username/rachedb
- Email: [email protected]
🙏 Teşekkürler
Bu projeye katkıda bulunan herkese teşekkürler!