添加python封面
#初学者 #教程 #python #法国

当我们处理API时,特别是为了可视化信息时,我们很快就会有很多相同的呼叫。突然,为了改变不必要的过度使用我们的资源,我们可以直接在Python API中设置一个缓存。

所以今天,我们将看到如何使用 lru_cache


安装

就像许多Python书店一样,LRU_CACHE可以通过PIP获得。

pip -lru_cache:https://pypi.org/project/lru_cache/

pip install lru_cache

利用率

from cache import LruCache  

@LruCache(maxsize=2, timeout=1)  
def foo(num):  
    return num  

您可以看到,它的使用非常简单。这是一个注释,要在要隐藏的thode的衰减上方添加

paramâtres

最大化

maxsize对应于我们想同时隐藏的foo mede1的最大呼叫数量。

通过不同的呼叫,我们听说至少有一个参数会改变。

示例

foo(1) # Foo est appelé et le résultat est mis dans le cache
foo(1) # La valeur est directement retournée du cache
foo(2) # Foo est appelé et le résultat est mis dans le cache
foo(3) # Foo est appelé et le résultat est mis dans le cache à la place du résultat de 1 vu que la taille maximale du cache est 2.
foo(2) # La valeur est directement retournée du cache

如果没有给出任何值,则所有信息都将被隐藏

暂停

timeout对应与必须保留在缓存中的呼叫角色的秒数

foo(1) # Appel fait à 10:00:00 - La méthode est appelée et le résultat est stockée dans le cache
foo(1) # Appel fait à 10:00:00 - Le résultat vient du cache
foo(2) # Appel fait à 10:00:00 - La méthode est appelée et le résultat est stockée dans le cache
foo(2) # Appel fait à 10:00:00 - Le résultat vient du cache
foo(1) # Appel fait à 10:00:01 - Le résultat vient du cache
foo(1) # Appel fait à 10:00:02 - La valeur précédente du cache a expiré, la méthode sera donc appelée à nouveau et le résultat sera stocké dans le cache.

如果没有给出此参数的值,则所有信息将保持到服务的恢复。


使缓存无效

如果您需要在缓存中的值无效(在缓存中使“无效”值在下一个呼叫中更换),则可以使用以下处理:

foo.invalidate(num)

和voilã!仅在几行中,我们就可以设置一个缓存以提高API的性能!

我希望它对您有帮助,如果您有任何疑问,无论他们是什么(从来没有任何杯子问题!)或对您来说尚不清楚的点,请不要停止离开评论中的一条消息或直接在LinkedIn 上加入我(即使是为了谈论其他主题!)


您想支持我吗?

Buy Me A Coffee