{"repo":"tonivade/resp-server","free":true,"listed":false,"github":"https://github.com/tonivade/resp-server","clone":"git clone https://github.com/tonivade/resp-server.git","description":"Netty implementation of REdis Serialization Protocol, and a simple framework to implement command based protocols","language":"Java","stars":69,"topics":["redis","framework","netty","resp"],"license":"MIT","category":"databases-storage","readme_excerpt":"resp-server Netty implementation of REdis Serialization Protocol, and a simple framework to implement command based protocols. Why? I love REDIS, IMHO is one of the best pieces of code ever made. Is fast, small and easy. One of the things I love of REDIS is the RESP protocol, and I think that it would be nice to build a library to implement services using this protocol. I have to say that this piece of code is based in another project I'm working ClauDB. What? RESP is the protocol used by REDIS, but it can be used to implement other client-server protocols. It's nice because: - Is easy - Is fast - Also is human readable RESP can serialize some data types - simple strings: +PONG\\r\\n - errors: -ERROR\\r\\n - integers: :1\\r\\n - bulk strings (binary-safe): $4\\r\\nPING\\r\\n - arrays: 3\\r\\n:1\\r\\n:2\\r\\n:3\\r\\n What binary safe means? It means that can be what ever you want, a UTF-8 String or compressed data, a picture, etc... Arrays can hold any data types inside, also other arrays. And use \\r\\n as delimiter, that means you can open a telnet/netcat/nc against the server port and send whatever you want. So, what provide this project in addition to the protocol implementation? Well, it defines a framework to implement command oriented protocols. You only need to define a set of commands and implement them. Some commands are built-in, ping , echo , time and quit . What is a command? A command is an array of bulk string in RESP, first element in array is the command, and the additional eleme","default_branch":null,"files":null,"tree":[],"storefront":"/r/tonivade","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/tonivade/resp-server/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}