死简单内存缓存

simple-memory-cache的Python项目详细描述


简单内存缓存

一个死的简单内存缓存,允许在需要时轻松地加载变量。 只有43行代码,没有依赖关系。在

这个模块由我们目前正在开发的SpinHub应用程序(https://www.spinhub.ca)使用。它允许我们在内存中缓存变量,以便在成功执行AWS Lambda函数时重用。在

用例1:缓存响应

我们的一个特定用例是缓存Auth0域的de JWKS(JSON Web密钥集):

importrequestsfromsimple_memory_cacheimportGLOBAL_CACHEAUTH0_DOMAIN='mysubdomain.auth0.com'JWKS_URL=AUTH0_DOMAIN+'/.well-known/jwks.json'jwks_var=GLOBAL_CACHE.MemoryCachedVar('jwks')@jwks.on_first_accessdef_retrieve_jwks():returnrequests.get(JWKS_URL).json()defdo_something():# First call will trigger _retrieve_jwks and store the return value.# If this is called within the same AWS Lambda instance, the global context will still be there# and the value will simply be returnedjwks=jwks_var.get()try:(validateJWTtokenw/jwks)except(ValidationError):# On a validation error, Auth0 recommends to refetch the JWKS in case it changed.# We invalidate the value and get it once again.jwks_var.invalidate()jwks=jwks_var.get()(validateJWTtokenw/jwks)

用例2:Flask Globals的具体实现

我们经常遇到这样的情况:我们只希望在没有设置烧瓶g的情况下设置它。 您可以用5行代码创建适合这种情况的内存缓存:

^{pr2}$

创造者

由Tack Verification创建,这家公司致力于降低与硬件系统验证相关的运营成本。 https://www.tackv.ca

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java缺少库karatejersey:1.0.0,包括karatejunit5:1.0.0   JAVAreverse()不处理jython中多维数组的一行?   使用Groovy和XMLSulrper数据复制java目录   endianness在Java中读取小Endian unsigned long   java Play框架动态地形成重复值,为新值添加控件   java REDIS:Jedis客户端作为插件依赖OSGi包   java从文本中提取语义/风格特征   java Android显示在浏览器中打开的警报   java中的初学者词法分析器   powershell DoWhile循环Java输出错误   java Hibernate 4:SessionFactory v/s ServiceRegistry   java有没有办法在exceptionHandler中传递第二个参数?   java eclipseLink 2.5.1静态编织NoSuchMethodError   Java:将4个独立的音频字节数组组合成单个wav音频文件   java JavaFX将peopleList分配给peopleTableView   JLabel中包含的超链接的java添加事件   java在JSP中显示响应代码消息