Ring: 프로그래밍 언어와 가까운 캐시 인터페이스
- Python Library
- Difficulty Intermediate
- 2018-08-18 (토요일) 14:40 - 15:20
- 한국어
- 101
- Photography and recording is allowed
Slide
https://www.slideshare.net/YunWonJeong/2018-pycon-korea-ring
Video
https://www.youtube.com/watch?v=k55l5jn8zsY
Description
Ring은 스토리지 대신 함수(와 메서드와 프로퍼티)를 중심으로 캐시를 재조직하는 인터페이스입니다. Ring의 추상화 덕분에 사용자는 캐시 스토리지 대신 함수를 중심으로 캐시의 흐름을 바라보게 됩니다. 보다 덜 중앙집중화 된 방식으로 캐시를 인지하고 적은 코드로 세밀한 제어를 하게 되는 셈입니다. Ring은 캐시를 프로그래밍 언어에 가까운 인터페이스로 긴밀하게 통합해 제공하고자 하는 시도입니다. dict, shelve, memcache, redis, diskcache, django 지원이 포함되어 있고 asyncio와 호환됩니다.
functools.lru_cache나 이와 비슷한 도구를 사용해 보았거나 이해하고 있다고 가정하고 설명하는 부분이 있습니다.
이 프로그램에서는
1. 기존에 잘 알려진 비슷한 접근 방법인 functools.lru_cache와 Django의 per-view cache가 어떤 문제를 풀어주는지 확인합니다.
2. 잘 풀리지 않은 문제와 이 문제를 Ring에서 푸는 방법을 중심으로 Ring으로 할 수 있는 일을 소개합니다.
- Sub-function control
- Methods & descriptor support
- Key consistency
- Backends
- Customization
https://github.com/youknowone/ring