互斥缓存-Python
一个小型实用程序库,用于基于缓存键动态创建互斥体。
用例
假设您正在实现一个graphql服务器,其对象字段彼此独立地异步解析。 多个字段执行相同的操作,因此应使用互斥锁和一些基本缓存来确保数据库查询最多发生一次。 如果您有这些对象的数组,则它们突然都使用相同的互斥量,这可能会降低性能。
动态创建多个短期的互斥对象,而不是使用一个互斥对象来全部统治它们,每个对象可以独立于其他解析对象使用。 通过为互斥锁使用与用于缓存检查相同的缓存键,几乎可以透明地使用动态创建的互斥锁,而不必担心互斥锁的性能或分配/取消分配。
使用互斥锁,如果已经存储了与缓存键关联的互斥锁,则将其返回。 否则,将以静默方式创建新的互斥锁,将其存储以备将来使用并返回。
安装
pip3 install mutexcache
用法
MutexCache.get()返回threading.Lock对
2021-02-18 11:06:25
8KB
Python
1