【发布时间】:2010-11-22 09:55:30
【问题描述】:
我需要为多个用户计算多个项目的“分数”。每个用户都有许多独特的分数,计算可能是时间/处理器密集型的。 (缓慢不在数据库端)。为了解决这个问题,我广泛使用了 memcached。如果没有 memcache,某些页面将需要 10 秒才能加载! Memcache 似乎运行良好,因为分数是非常小的信息,但需要一段时间来计算。我实际上将密钥设置为永不过期,然后在分数发生变化的情况下将其删除。
我正在进入这个产品的新阶段,并且正在考虑重新设计整个产品。似乎有一种方法可以迭代计算值,然后将它们存储在本地字段中。它会和现在发生的事情有点相似,只是值更新会更快,缓存会在真实的数据库中,管理它会多一点工作(我想我还是会在上面使用 memcache不过)。
如果重要的话,一切都在 python/django 中。
打算像这种坏习惯一样使用缓存吗?可以吗?为什么?我应该尝试重新架构东西吗?
【问题讨论】:
标签: performance architecture memcached scalability