Skip to content

Trabajo final realizado en la materia Taller de Programación I de la FIUBA: "Redis Database in Rust".

Notifications You must be signed in to change notification settings

fjpacheco/redis-database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

71cbd43 · Aug 18, 2021
Aug 11, 2021
Aug 16, 2021
Aug 18, 2021
Jul 24, 2021
Jul 20, 2021
Aug 16, 2021
Aug 16, 2021
Aug 18, 2021
Aug 16, 2021
Aug 16, 2021

Repository files navigation

CI

Redis Database in Rust

First Part

An implementation of Redis database.

Redis is a (mainly) in-memory storage, used as a Database of type key-value in memory, as well as cache and message broker, with persistence option of the data.

This version implements:

  • Client/Server architecture
  • TCP Protocol
  • Server multithreading
  • Request and response Redis Protocol
  • Three different types of data structures: strings, lists, sets
  • Keys expiration
  • Periodic persistence of data to disk storage (snapshots feature)
  • Publishers/subscribers functionality
  • Garbage collector: lazy and periodic deletion

All this project was made using technics as: Automated Unit Testing, Automated Integration Tests using a Redis client to the Rust language (an external crate), Error Handling and versions control.

Redis HTTP Monitor in Rust

Second Part

The web server that receives requests from browsers, communicating with them through the HTTP/1.1 protocol. The description of this protocol is the one corresponding to RFC 2616.

This version implements:

  • Client/Server architecture
  • HTTP Protocol
  • Server multithreading (by a Threadpool)
  • Datapacks and resources routing.
  • Graphic Interface.

Authors

Nombre Padrón Email
FIRMAPAZ, Agustin Ezequiel 105172 [email protected]
PACHECO, Federico Jose 104541 [email protected]
PANETTA, Martina Agata 103713 [email protected]

This project was proposed and guided by Taller de Programacion I (Deymonnaz), Facultad de Ingenieria, Universidad de Buenos Aires.