AWS Lambda caching in Python
Caching between lambda invocations may be useful for certain scenarios:
- Authentication
- Rate limits with external services
- Speed
How to cache between lambda invocations
In Python, it’s as simple as modifying a global variable.
1obj = None
2
3def lambda_handler(event):
4 global obj
5 if not obj:
6 obj = YourClass(event)Upon initial run of a lambda function, obj will be set to the output of YourClass(event). On subsequent warm starts, the lambda function will reuse the global obj from the previous lambda run. More information regarding warm vs cold starts can be found here.