A simple key-value database supporting various dialects
$ npm install keyvify
and also a Dialect
$ npm i pg pg-hstore # Postgres
$ npm i mysql2 # MySQL
$ npm i mariadb # MariaDB
$ npm i sqlite3 # SQLite
$ npm i better-sqlite3 # Better SQLite
$ npm i mongoose # MongoDB
$ npm i tedious # Microsoft SQL Server
Map
string
to store in database. Uses sequelize-javascript by default due to limitation in JSON.stringify
set
, get
, delete
and fetch
Refer here
Refer here
const { Keyvify } = require("keyvify");
const database = Keyvify("my_super_awesome_database", {
dialect: "better-sqlite",
storage: __dirname + "/../database.sqlite",
});
const init = async () => {
// connect
await database.connect();
// set a data
await database.set("hello", "world"); // returns: { key: "hello", value: "world" }
// get a data
await database.get("hello"); // returns: { key: "hello", value: "world" }
// get all data (fetches from the database)
await database.all(); // returns: [{ key: "hello", value: "world" }]
// get all **cached** data (only data from `database.cache` and doesnt need await)
database.entries(); // returns: [{ key: "hello", value: "world" }]
// delete a data
await database.delete("hello"); // returns: 1
// delete all
await database.truncate(); // returns: 0 (number of deleted keys)
// disconnect
await database.disconnect();
};
database.on("connect", () => console.log("Connected!"));
database.on("disconnect", () => console.log("Disconnected!"));
database.on("valueSet", (pair) => console.log("Some data was set:", pair));
database.on("valueGet", (pair) => console.log("Some data was got:", pair));
database.on("valueDelete", (key) => console.log("Some key was deleted:", key));
database.on("valueUpdate", (pair) =>
console.log("Some data was changed:", pair)
);
database.on("valueFetch", (pairs) =>
console.log("All data were fetched:", pairs)
);
database.on("truncate", (amount) =>
console.log("Database was emptied:", amount)
);
Click here for more examples
Generated using TypeDoc