This library is a work in progress. Usable but not battle tested. Be wary of breaking changes. See TODO
The .NET driver for Skytable is a client driver for the free and open source NoSQL database Skytable ported from the official Skytable client. First, go ahead and install Skytable by following the instructions here. This library supports all Skytable versions that work with the Skyhash 1.1 Protocol. This version of the library was tested with the latest Skytable release (release 0.7.1).
Once you have Skytable installed and running, you're ready to try the example!
Example usage:
using System;
using Skytable.Client;
class Person : Skyhash
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main(string[] args)
{
var setPerson = new Person();
setPerson.Name = "John Doe";
setPerson.Age = 30;
var connection = new Connection("127.0.0.1", 2003);
connection.Connect();
// Serializes and stores the Person as a JSON string in Key `P`.
// Result is a SkyResult<Element> containing a ResponseCode which indicates the result of the action.
var setResult = connection.Set("P", setPerson);
// Contains a SkyResult<Person> deserialized from the JSON string retrieved with the Key `P`.
var getResult = connection.Get<Person>("P");
}
}
Keep in mind that you can always set up your own custom queries to perform other queries than SET/GET
, see the projects in Examples
for more details on how to use this library.
- Examples
- TLS ConnectionBuilder Example
- Create Benchmark project
- Set up Releases
- Set up GHA
- Set up nuget
- Add TLS support (Can connect over TLS but certificate validation might not be secure)
- Parse element types
- RECURSIVE ARRAYS
- Pipelined queries
- Actions
- DBSIZE
- DEL
- EXISTS
- FLUSHDB
- GET
- HEYA
- SET
- KEYLEN
- LSKEYS
- MGET
- MKSNAP
- MSET
- MUPDATE
- POP
- SDEL
- SET
- SSET
- SUPDATE
- UPDATE
- USET
- DDL
- CREATE
- USE
- INSPECT
- DROP
- Tests
- Queries
- Parser
Feel free to contribute by creating Issues to report bugs or wanted features. Enjoy!