https://github.com/mfelsche/pony-kv
simple in-memory kev-value store for Pony 🐴 🔑💰
https://github.com/mfelsche/pony-kv
application key-value-store pony-language
Last synced: about 2 months ago
JSON representation
simple in-memory kev-value store for Pony 🐴 🔑💰
- Host: GitHub
- URL: https://github.com/mfelsche/pony-kv
- Owner: mfelsche
- Created: 2018-02-05T21:15:13.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-11-18T08:10:26.000Z (over 5 years ago)
- Last Synced: 2025-01-20T04:18:46.633Z (3 months ago)
- Topics: application, key-value-store, pony-language
- Language: Pony
- Homepage:
- Size: 24.4 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# pony-kv
A really simple but multi-core Key-Value store.
It is allowing concurrent access to the underlying storage engine for reads,
so read heavy use cases can take full advantage of all cores.At the same time it ensures that writes always happen on the latest state,
so no write operation gets deleted during concurrent storage engine updates.The underlying storage engine is a persistent hashmap.
Setting and deleting keys happens asynchronously,
so the client will get a result before the actual store or delete
on the storage engine will take place.## Server
This KV store server is listening on TCP for connections.
It speaks the redis protocol, so it can be accessed by any redis client
e.g. redis-cli.### Building and running
```
$ make
$ ./build/server -h localhost -p 65535
```### Supported Redis Commands
* PING
* GET
* SET (EX, PX, NX, XX arguments are not supported)
* DEL## Status
[](https://circleci.com/gh/mfelsche/pony-kv)
## Installation
* Install [pony-stable](https://github.com/ponylang/pony-stable)
* Update your `bundle.json````json
{
"type": "github",
"repo": "mfelsche/pony-kv"
}
```* `stable fetch` to fetch your dependencies
* `use "pony-kv"` to include this package
* `stable env ponyc` to compile your application