Description
Valkey was launched in AWS ElastiCache back in 2024, and claims backwards compatible wire-protocol compliance with open source Redis 7.2, while operating at 20% lower costs (more efficient credits usage for PyPI), and provides a zero-downtime upgrade path.
Read more on the launch blog here: https://aws.amazon.com/blogs/database/get-started-with-amazon-elasticache-for-valkey/ which also includes UI directions on how to perform the upgrade.
The listed differences are here: https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/VersionManagementConsiderations-valkey.html
By my reading, nothing there is concerning.
If any upgrades become blocked, there's this page to help: https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/resolving-blocked-engine-upgrades.html
To make the transition easy, here's some steps I conceive of:
- update local dev and CI to use valkey - chore(dev): replace redis with valkey #17861
- update testpypi's elasticache instance to valkey 7.2.x
- update pypi's elasticache instance to valkey 7.2.x (probably set a scheduled maintenance for this one)
- celebrate
As a second stage, once this is completed, we could also entertain replacing the client-side library from redis-py
to either valkey or valkey-glide, but that's not strictly necessary right now.