All Projects → ayntee → Endb

ayntee / Endb

Licence: mit
Key-value storage for multiple databases. Supports MongoDB, MySQL, Postgres, Redis, and SQLite.

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Endb

Mikro Orm
TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite databases.
Stars: ✭ 3,874 (+1762.5%)
Mutual labels:  database, mysql, mongodb, postgresql, sqlite
Kangaroo
SQL client and admin tool for popular databases
Stars: ✭ 127 (-38.94%)
Mutual labels:  database, mysql, redis, postgresql, sqlite
Db
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.
Stars: ✭ 2,832 (+1261.54%)
Mutual labels:  database, mysql, mongodb, postgresql, sqlite
Node Orm2
Object Relational Mapping
Stars: ✭ 3,063 (+1372.6%)
Mutual labels:  database, mysql, mongodb, postgresql, sqlite
Gokv
Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more)
Stars: ✭ 314 (+50.96%)
Mutual labels:  database, redis, mongodb, postgresql, key-value
Zxw.framework.netcore
基于EF Core的Code First模式的DotNetCore快速开发框架,其中包括DBContext、IOC组件autofac和AspectCore.Injector、代码生成器(也支持DB First)、基于AspectCore的memcache和Redis缓存组件,以及基于ICanPay的支付库和一些日常用的方法和扩展,比如批量插入、更新、删除以及触发器支持,当然还有demo。欢迎提交各种建议、意见和pr~
Stars: ✭ 691 (+232.21%)
Mutual labels:  mysql, redis, mongodb, postgresql, sqlite
Denodb
MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno
Stars: ✭ 498 (+139.42%)
Mutual labels:  database, mysql, mongodb, postgresql, sqlite
Smartsql
SmartSql = MyBatis in C# + .NET Core+ Cache(Memory | Redis) + R/W Splitting + PropertyChangedTrack +Dynamic Repository + InvokeSync + Diagnostics
Stars: ✭ 775 (+272.6%)
Mutual labels:  mysql, redis, postgresql, cache, sqlite
Nut
Advanced, Powerful and easy to use ORM for Qt
Stars: ✭ 181 (-12.98%)
Mutual labels:  database, mysql, postgresql, sqlite
Qtl
A friendly and lightweight C++ database library for MySQL, PostgreSQL, SQLite and ODBC.
Stars: ✭ 92 (-55.77%)
Mutual labels:  database, mysql, postgresql, sqlite
Spring Boot 2.x Examples
Spring Boot 2.x code examples
Stars: ✭ 104 (-50%)
Mutual labels:  mysql, redis, mongodb, postgresql
Prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite & MongoDB (Preview)
Stars: ✭ 18,168 (+8634.62%)
Mutual labels:  database, mysql, postgresql, sqlite
Electrocrud
Database CRUD Application Built on Electron | MySQL, Postgres, SQLite
Stars: ✭ 1,267 (+509.13%)
Mutual labels:  database, mysql, postgresql, sqlite
Adminer Custom
Customizations for Adminer, the best database management tool written in PHP.
Stars: ✭ 99 (-52.4%)
Mutual labels:  mysql, mongodb, postgresql, sqlite
Dbmigrations
A library for the creation, management, and installation of schema updates for relational databases.
Stars: ✭ 67 (-67.79%)
Mutual labels:  database, mysql, postgresql, sqlite
Directus
Open-Source Data Platform 🐰 — Directus wraps any SQL database with a real-time GraphQL+REST API and an intuitive app for non-technical users.
Stars: ✭ 13,190 (+6241.35%)
Mutual labels:  database, mysql, postgresql, sqlite
Nodbi
Document DBI connector for R
Stars: ✭ 56 (-73.08%)
Mutual labels:  database, redis, mongodb, sqlite
Next
Directus is a real-time API and App dashboard for managing SQL database content. 🐰
Stars: ✭ 111 (-46.63%)
Mutual labels:  database, mysql, postgresql, sqlite
Elefant
Elefant, the refreshingly simple PHP CMS and web framework.
Stars: ✭ 188 (-9.62%)
Mutual labels:  mysql, postgresql, cache, sqlite
Pifpaf
Python fixtures and daemon managing tools for functional testing
Stars: ✭ 161 (-22.6%)
Mutual labels:  mysql, redis, mongodb, postgresql

Endb · Test codecov License

Key-value storage for multiple databases

  • Easy-to-use: Endb has a simplistic and neat promise-based API.
  • Adapters: By default, data is cached in memory. The officially supported adapters are covered by many tests to guarantee consistent behavior. They are lightweight, efficient wrappers over various database drivers. Offcially supported adapters are MongoDB, MySQL, PostgreSQL, Redis, and SQLite.
  • Third-Party Adapters: You can optionally use a third-party storage adapters to enable desired functionality.
  • Namespaces: Namespaces isolate elements within the database to avoid key collisions, separate elements by prefixing the keys, and allow clearance of only one namespace while utilizing the same database.
  • Custom Serializers: Endb handles all the JSON data types including Buffer using buffer-json. Optionally, pass your own data serialization methods to support extra data types.
  • Embeddable: Endb is designed to be easily embeddable inside other modules with minimal efforts.
  • Data Types: Handles all the JSON types including Buffer.
  • Error-Handling: Database errors are transmitted through; consequently, database errors do not exit or kill the process.

Installation

Node.js 12.x or newer is required.

npm install endb

By default, data is stored/cached in memory. Optionally, you can install and use an adapter. Officially supported database adapters are MongoDB, Redis, MySQL, PostgreSQL, and SQLite.

npm install @endb/mongo # For MongoDB
npm install @endb/mysql # For MySQL
npm install @endb/postgres # For PostgreSQL
npm install @endb/redis # For Redis
npm install @endb/sqlite # For SQLite

Usage

const Endb = require('endb');

// One of the following
const endb = new Endb('mongodb://user:[email protected]:27017/dbname');
const endb = new Endb('mysql://user:[email protected]:3306/dbname');
const endb = new Endb('postgresql://user:[email protected]:5432/dbname');
const endb = new Endb('redis://user:[email protected]:6379');
const endb = new Endb('sqlite://path/to/database.sqlite');

await endb.set('foo', 'bar'); // true
await endb.get('foo'); // 'bar'
await endb.has('foo'); // true
await endb.all(); // [ { key: 'foo', value: 'bar' } ]
await endb.delete('foo'); // true
await endb.clear(); // undefined

Documentation

You can find the Endb documentation on this website

Contributing

Before submitting a pull-request, please read our Contributing Guide.

License

MIT © chroventer

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].