kvsql 0.1.0 copy "kvsql: ^0.1.0" to clipboard
kvsql: ^0.1.0 copied to clipboard

outdated

A key/value store backed by Sqlite. It has methods to handle high throughput updates.

Kvsql #

A key/value store for Flutter backed by Sqlite. Powered by Sqlcool.

Usage #

Initialize #

import 'package:kvsql/kvsql.dart';

store = KvStore();
await store.onReady;

Initialize with an existing Sqlcool database:

db.init(path: "mydb.db", schema=[kvSchema()]);
store = KvStore(db: db);

Insert #

await store.insert("mykey", "myvalue");

Supported value types are: String, int, double, List, Map

Update #

await store.update("mykey", "my_new_value");

Delete #

await store.delete("mykey");

Select #

Returns a typed value

final dynamic myValue = await store.select("mykey");

Upsert #

Inserts a value if it does not exists or update it otherwise

 await store.upsert("mykey", "my_new_value");

Push #

This method upserts a key/value using a queue: it can be safely called concurrently. Useful for high throughput updates.

Limitation: this method is executed asynchronously but can not be awaited.

 store.push("mykey", "my_value");

Check the examples for detailled usage.

Select sync #

Synchronously select a value.

final dynamic myValue = store.selectSync("mykey");

For this to work you need to initialize the store with the inMemory option that keeps an in memory copy of the store values.

store = KvStore(inMemory = true);

Note: if you don't await your mutations or use push you are exposed to eventual consistency using this method

Typed values select sync are available:

final double myValue = store.selectDoubleSync("mykey");
final int myValue = store.selectIntegerSync("mykey");
final String myValue = store.selectStringSync("mykey");
final List myValue = store.selectListSync("mykey");
final Map myValue = store.selectMapSync("mykey");
0
likes
0
pub points
0%
popularity

Publisher

unverified uploader

A key/value store backed by Sqlite. It has methods to handle high throughput updates.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

cupertino_icons, flutter, path_provider, pedantic, sqlcool

More

Packages that depend on kvsql