Redis on Heroku

Heroku is a cloud Platform as a Service (PaaS) supporting multiple programming languages that is used as a web application deployment model. Heroku lets the developer build, run and scale applications in a similar manner across all the languages(Java, Node.js, Scala, Clojure, Python, PHP, Ruby and Go).

Using Redis Cloud directly#

Redis is source available, in-memory, key-value data store most commonly used as a primary database, cache, message broker, and queue. Redis cache delivers sub-millisecond response times, enabling fast and powerful real-time applications in industries such as gaming, fintech, ad-tech, social media, healthcare, and IoT.

Redis Cloud is a fully-managed cloud service for hosting and running your Redis dataset in a highly-available and scalable manner, with predictable and stable top performance. Redis Cloud allows you to run Redis server over the Cloud and access instance via multiple ways like RedisInsight, redis command line as well as client tools. You can quickly and easily get your apps up and running with Redis Cloud through its Redis Heroku addons , just tell us how much memory you need and get started instantly with your first Redis database. You can then add more Redis databases (each running in a dedicated process, in a non-blocking manner) and increase or decrease the memory size of your plan without affecting your existing data.

Getting started#

You can quickly and easily get your apps up and running with Redis Cloud directly.

1. Create a Redis Cloud account#

Create your free Redis Cloud account by visiting this link. You can follow this guide to learn how to setup your database and retrieve your endpoint and credentials for the rest of this tutorial.

2. Create a Heroku account#

If you are using Heroku for the first time, create your new Heroku account through this link.

3. Install Heroku CLI on your system#

 brew install heroku

4. Login to Heroku#

 heroku login
 heroku: Press any key to open up the browser to login or q to exit:
 Opening browser to https://cli-auth.heroku.com/auth/cli/browser/XXXXXXXXXXA
 Logging in... done
 Logged in as your_email_address

5. Connect your application to Redis Cloud#

For this demonstration, we will be using a Sample Rate Limiting application.

Clone the repo

git clone https://github.com/redis-developer/basic-rate-limiting-demo-python

Run the commands below to get a functioning Git repository that contains a simple application as well as a package.json file.

 heroku create
 Creating app... done, ⬢ lit-bayou-75670
 https://lit-bayou-75670.herokuapp.com/ | https://git.heroku.com/lit-bayou-75670.git

6. Set your environment variables#

Go to the Heroku dashboard, click "Settings" and set REDIS_URL and REDIS_PASSWORDunder the Config Vars.

Refer to Step 1 for the correct values to use.

7. Push the code to git#

 git push heroku
 remote: -----> Build succeeded!
 remote: -----> Discovering process types
 remote:        Procfile declares types -> web
 remote: -----> Compressing...
 remote:        Done: 32.9M
 remote: -----> Launching...
 remote:        Released v5
 remote:        https://lit-bayou-75670.herokuapp.com/ deployed to Heroku
 remote: Verifying deploy... done.
 To https://git.heroku.com/lit-bayou-75670.git
 * [new branch]      main -> main
Check the logs
 heroku logs --tail
 2021-03-27T03:48:30.000000+00:00 app[api]: Build succeeded
 2021-03-27T03:48:33.956884+00:00 heroku[web.1]: Starting process with command `node server/index.js`
 2021-03-27T03:48:36.196827+00:00 app[web.1]: App listening on port 11893

8. Access the app#

Step 8. Accessing the app