## Fix asyncio get_event_loop() deprecation warning
### Problem
The caching handler uses `asyncio.get_event_loop()` which raises a deprecation warning in Python 3.10+ and will be removed in future versions.
Error: "DeprecationWarning: There is no current event loop"
### Solution
Updated the code to use `asyncio.get_running_loop()` with a fallback to `asyncio.new_event_loop()` when no loop is running, which follows the recommended pattern for modern Python versions.
This approach:
- Avoids the deprecation warning
- Creates isolated event loops when needed
- Maintains the same functionality without modifying thread state
- Is compatible with Python 3.10 through 3.13
### Testing
Tested on Python 3.13.x with no deprecation warnings.
### Related Issues
This addresses the same issue discussed in python/cpython#93453