用几个模块编写一个基于web的烧瓶api应用程序。我想为不同模块的不同用户登录合并不同的权限和特权。查询是将这些特权作为会话字典存储,还是作为搁置值存储?哪个更有效率,哪个更快?在这种情况下,为什么会偏袒一个人而另一个人呢?
发布于 2017-01-31 03:59:08
我建议您看看NoSQL存储引擎,比如Memcached或Redis。
它们给了你几个好处:
发布于 2017-01-31 04:25:48
将数据存储在与烧瓶相关的对象(如对象 )中,通常与烧瓶应用程序上下文附近的数据相关。从这个上下文中不容易地访问存储在g对象中的数据,有时如果您不熟悉烧瓶上下文的概念,您可能在使用相关功能时遇到困难。
我没有使用搁置模块,但这是简单的存储和数据存储在那里应该可以从您的应用程序的任何一点。
我想这两个选项在性能或内存消耗方面不会有太大的差异,因为所有这些数据都将由同一个python进程管理。当然,由于内部实现性能可能有所不同,但我相信不会有太大的差异。
我同意@Eugene的观点,即使用外部缓存服务可能是另一种可接受的解决方案(在本例中考虑使用一些烧瓶模块,如烧瓶-Redis)。这可能需要一些代码调整,因为这样的存储通常不能存储任何python对象,有时可能需要手动转储或挑选对象。但是,您可以缓存不影响process本身的任意数量的数据,也可以使用一些整洁的东西,比如数据TTL (在给定时间内自动删除缓存的数据)和他的答案中列出的其他procs @Eugene。
https://stackoverflow.com/questions/41845657
复制相似问题