dmarro89 / dare-db

Dare-DB is a lightweight in-memory database written in Go, featuring Redis-inspired hashtables and HTTP/HTTPS endpoints for seamless data storage and retrieval, with Docker support for easy deployment
MIT License
53 stars 6 forks source link

Implements a TCP communication channel #41

Open dmarro89 opened 2 months ago

dmarro89 commented 2 months ago

Currently the only way to use the DB is sending HTTP/s requests. There should by at least another option -> TCP has been chosen in order to create a direct channel between a client and the server. The list of commands is needed with the implementation of this commands as well. Should be implemented also the TLS part about the communication.

dmarro89 commented 2 months ago

Here another important discussion about it -> https://github.com/dmarro89/dare-db/discussions/16#discussion-6755571

To follow for the commands to implement.

TheInvincibleRalph commented 2 months ago

For the TCP connection, I think the commands will look like the following:

GET [key]: to fetch a value from the database. SET [key] [value]: to store a key-value pair in the database. DELETE [key]: to delete a key from the database. LIST: to list all keys in the database, and EXIT: to close the TCP connection.

dmarro89 commented 2 months ago

Hi @TheInvincibleRalph thanks for your contribute. In this discussion -> https://github.com/dmarro89/dare-db/discussions/16#discussion-6755571, there are already some commands reported. Do you think that the list can be improved ?