我有一个使用大量查询的站点,因此需要 cahce。由于我不时使用内置缓存的 httpruntime 重新编译(错误修复和新版本),导致我的缓存数据被擦除。我查看了 Memcahced,它说:“Memcached 是用于小块任意数据(字符串、对象)的内存键值存储”。我的应用需要存储几百万个键,但每个键的大小并没有那么大(最大的对象可以包含几千条记录的列表,但通常是一个具有 20-30 个属性的对象)。memcached 是否适合我的需求?
问问题
173 次
1 回答
1
我认为这里有几个问题。您尝试缓存的数据有多大?在 1.4.2 之前,memcache 每个项目的限制为 1mb。虽然您现在可以存储更大的记录,但不建议这样做。你的“几千条记录”有多大?只要您有合理的大小,那么是的,memcached 可能很有用并适合您的需求。它运行良好,具有可扩展性,并且您可以在工作人员之间共享缓存数据。
不使用 HttpRuntime 缓存的全部原因是因为它有时会被清除吗?因为使用 memcached 也可以做到这一点。持久存储也不是,虽然您可以在此处和此处设置无限过期时间,但任何新版本的 memcached、重新启动以及其他原因都可能导致缓存被清除。
于 2012-11-18T18:28:14.657 回答