# REST key-val store Create an API with the following endpoints to create a key-value store. The purpose of the API is to store any arbitrary length value in a persistent store with respect to a key and later fetch these values by keys. These values will have a TTL (for example 5 minutes) and after the TTL is over, the values will be removed from the store. ### ```GET /values``` Get all the values of the store. response: ```{key1: value1, key2: value2, key3: value3...}``` ### ```GET /values?keys=key1,key2``` Get one or more specific values from the store and also reset the TTL of those keys. response: ```{key1: value1, key2: value2}``` ### ```POST /values``` Save a value in the store. request: ```{key1: value1, key2: value2..}``` response: whatever’s appropriate ### ```PATCH /values``` Update a value in the store and also reset the TTL. request: ```{key1: value1, key2: value2..}``` response: whatever’s appropriate ## Constraints - ### Must be done - Use appropriate status codes with all the responses. - Values can be of arbitrary length - Remove all values stored over more than 5 minutes. Set a TTL. - Has to be FAST - ### Good to have - Reset TTL on every GET Request. - Must be fault-tolerant, persistent - It's a plus if you can run the service with single command - writing test case is also encourged if possible