Requires Python3.6+
There is a good and simple library CacheControl written for python requests library. And there is nothing similar for aiohttp. "Async CacheControl" project strives to cover this hole.
import asyncio
from acachecontrol import AsyncCacheControl
async def main():
async with AsyncCacheControl() as cached_sess:
async with cached_sess.request('GET', 'http://example.com') as resp:
resp_text = await resp.text()
print(resp_text)
asyncio.run(main())