Python and Redis


Profile picture for Ajeet Raina
Author:
Ajeet Raina, Developer Growth Manager at Redis

Find tutorials, examples and technical articles that will help you to develop with Redis and Python.

Getting Started#

The Python community has built many client libraries that you can find here . For your first steps with Python and Redis, this article will show how to use the recommended library: redis-py

Step 1. Run a Redis server#

Redis is an open source, in-memory, key-value data store most commonly used as a primary database, cache, message broker, and queue. Unlike relational databases, Redis database 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 (also called remote dictionary server) is a multi-model database, and provides several built-in data structures/data type such as Lists, Hashes, Geospatial indexes, Strings, Sets etc. You can either run Redis server in a Docker container or directly on your machine. Follow the below command line to setup a Redis server on Mac OS:

brew tap redis-stack/redis-stack
brew install --cask redis-stack
INFO

Redis Stack unifies and simplifies the developer experience of the leading Redis modules and the capabilities they provide. Redis Stack bundles five Redis modules: RedisJSON, RedisSearch, RedisGraph, RedisTimeSeries, and RedisBloom Learn more

Ensure that you are able to use the following Redis command to connect to the Redis instance.

redis-cli
127.0.0.1:6379>

Now, you should be able to get Redis data by using Redis commands.

Step 2. Install the Redis client library using pip#

The following Python code allows you to connect to the default Redis server instance .

pip3 install redis

Step 2. Write your application code#

import redis
redis = redis.Redis(
host= 'localhost',
port= '6379')
redis.set('mykey', 'Hello from Python!')
value = redis.get('mykey')
print(value)
redis.zadd('vehicles', {'car' : 0})
redis.zadd('vehicles', {'bike' : 0})
vehicles = redis.zrange('vehicles', 0, -1)
print(vehicles)

Find more information about Redis database instances & Redis connections in the "Redis Connect".

More developer resources#

Sample Code#

Flask Simple Rate limiting Example Application that shows how to do rate limiting using various Redis datastructure.

Technical Articles & Videos#

Beyond the Cache with Python


Redis Launchpad#

Redis Launchpad is like an “App Store” for Redis sample apps. You can easily find apps for your preferred frameworks and languages. Check out a few of these apps below, or click here to access the complete list.

Rate-Limiting app in Python & Django#

launchpad

Rate Limiting app built in Python & Django

Leaderboard app in Python & Django#

launchpad

How to implement leaderboard app in Python & Django

Redis University#

Redis for Python Developers#

A complete introduction to Redis for Python developers.

References#

Last updated on