This is a Redis starter template for Go:
Copy and edit the .env
file:
cp .env.example .env
Your .env
file should contain the connection string you copied from Redis Cloud.
Your .env.docker
file will look similar to .env
, but should use the appropriate docker internal URLs. Here is
an example:
REDIS_URL="redis://redis:6379"
Next, spin up docker containers:
make docker
or
docker compose up -d
You should have a server running on http://localhost:<port>
where the port is set in your .env
file (default is 8000). You can test the following routes:
GET /api/todos
- Gets all todosGET /api/todos/:id
- Gets a todo by IDGET /api/todos?[name=<name>]&[status=<status>]
- Search for todos by name and/or statusPOST /api/todos
- Create a todo with{ "name": "Sample todo" }
PATCH /api/todos/:id
- Update todo by ID with{ "status": "todo|in progress|complete" }
DELETE /api/todos/:id
- Delete a todo by ID
There are some tests in the pkg/todos/store_test.go
file that can be run with the following command:
make test
go mod tidy && go test pkg/todos/store_test.go pkg/todos/store.go -v
These tests setup and teardown on their own. You can modify them if you want to leave data in Redis.
To run the development server outside of docker:
make dev
or
go mod tidy && go run cmd/main.go
Building a binary:
make
or
go mod tidy && go build -o ./bin/app cmd/main.go
If you don't yet have a database setup in Redis Cloud get started here for free.
To connect to a Redis Cloud database, log into the console and find the following:
- The
public endpoint
(looks likeredis-#####.c###.us-east-1-#.ec2.redns.redis-cloud.com:#####
) - Your
username
(default
is the default username, otherwise find the one you setup) - Your
password
(either setup through Data Access Control, or available in theSecurity
section of the database page.
Combine the above values into a connection string and put it in your .env
and .env.docker
accordingly. It should
look something like the following:
REDIS_URL="redis://default:<password>@redis-#####.c###.us-west-2-#.ec2.redns.redis-cloud.com:#####"
Run the tests to verify that you are connected properly.
To learn more about Redis, take a look at the following resources:
- Redis Documentation - learn about Redis products, features, and commands.
- Learn Redis - read tutorials, quick starts, and how-to guides for Redis.
- Redis Demo Center - watch short, technical videos about Redis products and features.