27 captures
26 Jan 2017 - 02 Dec 2025
Oct NOV Dec
29
2020 2021 2022
success
fail

About this capture

COLLECTED BY

Collection: Common Crawl

Web crawl data from Common Crawl.
TIMESTAMPS

The Wayback Machine - http://web.archive.org/web/20211129203022/https://www.fullstackpython.com/redis.html
 

Full Stack Python logoFull Stack Python
All topics | Blog | Supporter's Edition | @fullstackpython | Facebook | What's new?

Redis






Redis is an in-memory key-value pair database typically classified as a NoSQL database. Redis is commonly used for caching, transient data storage and as a holding area for data during analysis in Python applications.

Redis logo.
Redis is an implementation of the NoSQL database concept. Learn more in the data chapter or view the table of contents for all topics.

Redis tutorials


Redis is easy to install and start using compared to most other persistent backends, but it's useful to follow a walkthrough if you have never previously used Redis or any NoSQL data store.



How to Use Redis with Python 3 and redis-py on Ubuntu 16.04 contains detailed steps to install and start using Redis in Python.



How To Install and Use Redis is a straightforward starter guide that includes installation instructions.


Redis with Python


Redis is easier to use with Python if you have a code library client that bridges from your code to your Redis instace. The following libraries and resources provide more information on handling data in a Redis instance with your Python code.



Redis-py is a solid Python client to use with Redis.



Walrus is a higher-level Python wrapper for Redis with some caching, querying and data structure components build into the library.



Writing Redis in Python with Asyncio shows a detailed example for how to use the new Asyncio standard library in Python 3.4+ for working with Redis. There is also a EuroPython video of the talk that goes along with the code.



Cache_deco is a generic Python caching decorator library.



Write your own miniature Redis with Python doesn't actually use Redis but shows how you can write a simplified version of Redis' in-memory data store with Python. It's a good article to understand more about how NoSQL data stores can work under the covers.



Introduction to Redis streams with Python shows how to use the new (as of Redis version 5.0) append-only streams functionality via Python code.


Redis tools and examples


Redis' wide applicability can be a downside if you don't know what to start using it for in your application. The following code and posts provide common use cases for Redis.



redis-labs-use-cases has a couple of examples of using Redis to analyze geospatial data and tweets.



redis-migrate-tool is a library to make it easier to move data between redis clusters and groups.



redis-rdb-tools parses the Redis' database storage files and can dump the contents to JSON files.


Redis Security


Redis should be customized out of its default configuration to secure it against unauthorized and unauthenticated users. These resources provide some advice on Reids security and guarding against data breaches.



Redis, just as with any relational or NoSQL database, needs to be secured based on security guidelines. There is also a post where the main author of Redis cracks its security to show the tradeoffs purposely made between ease of use and security in the default settings.



For Gods sake, secure your Mongo/Redis/etc! digs into the unfortunate default security settings that come with many NoSQL databases which can be used to compromise your systems. Make sure to not only install your dependencies such as Redis, but automate modifying default settings to lock them down against attackers.


Specific Redis topics


Once you have configured Redis, become comfortable using it and locked it down against malicious actors, you will want to learn more about operating, scaling and collecting metrics. The following resources should help you get started in those areas.



A Key Expired In Redis, You Won't Believe What Happened Next is a well-written post on issues one team found with their configuration when they were using Redis for a lot of data caching.



Redis-playbook is an Ansible playbook for installing, configuring and securing a Redis instance.



Monitoring Redis shows common commands for accessing meta data about your Redis databases, such as info and slowlog.



GitHub wrote a retrospective on moving persistent data out of Redis and into MySQL that is worth a read as you scale up your Redis usage.



Learn Redis the hard way (in production) investigates problems found with a development team's Redis infrastructure, how they went about debugging them and ultimately fixing some of the issues, while being aware of limitations that could cause them issues in the future.



This video on Scaling Redis at Twitter is a detailed look behind the scenes with a massive Redis deployment.



Real World Redis Tips provides some guidance from Heroku's engineers from deploying Redis at scale. The tips include setting an explicit idle connection timeout, using a connection pooler and avoiding using KEYS in favor of SCAN.



How to collect Redis metrics shows how to use the Redis CLI client to grab key metrics on latency.



You should revise your Redis max connections setting is a retrospective from a hard web application failure due to Redis connections maxing out on Heroku, and how to avoid this in your own applications by modifying your redis.conf settings.



A Speed Guide To Redis Lua Scripting shows how to use the Lua programming language to create extensions for Redis.



Better tests for Redis integrations with redislite shows how to mock out a Redis instance using the redislite library and clean up existing hacks you may be using to test your Redis usage.



Our journey from Redis 2 to Redis 3 while not taking the site down explains their infrastructure and uptime demands in the gambling industry, and how they were able to roll their upgraded Redis versions.


What do you want to learn about next?





Tell me about standard relational databases.
 




I've built a Python web app, now how do I deploy it?
 




I want to learn how to code a Python web application using a framework.
 





Sponsored By


AssemblyAI logo
The most accurate speech-to-text API. Built for Python developers.





Table of Contents



1. Introduction 2. Development Environments 3. Data Relational Databases PostgreSQL MySQL SQLite Object-relational Mappers SQLAlchemy Peewee Django ORM Pony ORM NoSQL Data Stores Redis MongoDB Apache Cassandra Neo4j Data analysis pandas SciPy & NumPy Data visualization Bokeh d3.js Matplotlib Markup Languages Markdown reStructuredText 4. Web Development 5. Deployment 6. DevOps Changelog What Full Stack Means About the Author Future Directions Page Statuses ...or view the full table of contents.



Full Stack Python


Full Stack Python is an open book that explains concepts in plain language and provides helpful resources for those topics.

Updates via Twitter & Facebook.



Chapters



1. Introduction 2. Development Environments 3. Data » Redis 4. Web Development 5. Deployment 6. DevOps Changelog What Full Stack Means About the Author Future Directions Page Statuses ...or view the full table of contents.

 



Matt Makai 2012-2021