Awesome
Couchcache
A caching service developed in Go. It provides REST APIs to access key-value pairs stored in Couchbase.
You may also consider using couchcache as a mocked service when doing TDD.
To start couchcache
Run couchcache with Couchbase server (host and port) and bucket (name and password) information
./couchcache --host=HOST --port=PORT --bucket=BUCKET --pass=PASS
Example
./couchcache --host=10.99.107.192 --port=8091 --bucket=cachebucket --pass=c@che1t
Default values
host: localhost
port: 8091
bucket: couchcache
pass: password
Cache service endpoint
http://HOST:8080/key/KEY
Examples
http://10.99.107.190:8080/key/customer_555
http://10.99.107.190:8080/key/the_service_i_want_to_mock-endpoint_a
, if you're mocking other service's endpoint
To store a key-value pair
- request
- send
POST
request to endpoint with data in body - optionally set TTL by
?ttl=TTL_IN_SEC
- send
- response
HTTP 201 Created
if storedHTTP 400 Bad Request
if key or value is invalid
To retrieve a key
- request
- send
GET
request to endpoint
- send
- response
HTTP 200 OK
with data in bodyHTTP 404 Not Found
if key doesn't existHTTP 400 Bad Request
if key is invalid
To delete a key
- request
- send
DELETE
request to endpoint
- send
- response
HTTP 204 No Content
if deletedHTTP 404 Not Found
is key doesn't existHTTP 400 Bad Request
if key is invalid
To append data for a key
- request
- send
PUT
request to endpoint with data in body
- send
- response
HTTP 200 OK
if appendedHTTP 404 Not Found
if key doesn't existHTTP 400 Bad Request
if key or value is invalid
Limitations
- Max key length is 250 bytes
- Max value size is 20 MB
See Couchbase Limits.
License
couchcache is distributed under the terms of the MIT license. See LICENSE for details.