#I13 KV
The goal of I13 Key Value Store is to teach various socket handling techniques in Java. The only commands supported so far are PUT, GET, DELETE, EXISTS
Following socket handling techniques are implemented:
- Java 7 NIO
- Single threaded and blocking
- One thread per connection
- Threadpool
Maven is optional. You only need it if you want to run the build and tests from commandline. You can use an IDE (Eclipse, IntelliJ IDEA)
Install Java 8
mvn test
mvn assembly:assembly
java -jar target/niokv-jar-with-dependencies.jar
Install telnet apt-get install telnet
user@machine: telnet
telnet> open localhost 5559
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
PUT turingawards 2013 LeslieLamport
GET turingawards 2013
Install telnet client Windows + R, telnet, Enter
telnet> open localhost 5559
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
PUT turingawards 2013 LeslieLamport
GET turingawards 2013
Pull requests welcome!
Ideas:
- Additional operators (INC, FLUSHALL, ... more ideas, ...)
- Reactive programming
- Notifications
- Persistence to disk
- Client
- HTTP interface
- ...