我有一个使用大量查询的网站,因此需要cahce。因为我使用内置缓存中的httpruntime不时重新编译(bug fixex和新版本),导致我的缓存数据被删除。我看了Memcahced,它说:“Memcached是一个内存键值存储,适用于任意数据(字符串,对象)的小块”。我的应用程序需要存储几百万个密钥,但每个密钥的大小不是那么大(最大的对象可以包含几千个记录的列表,但通常它是一个具有20-30个属性的对象)。 memcached是否适合我的需求?
答案 0 :(得分:1)
我认为这里有几个问题。您尝试缓存的数据有多大?在1.4.2之前,memcache每个项目的限制为1mb。虽然您现在可以存储更大的记录it's not recommended。你的“几千条记录”有多大?只要你有合理的尺寸,那么,memcached可能是有用的,适合你的需要。它运行良好,可扩展,您可以在工作人员之间共享缓存数据。
是不是因为它被清除了而没有使用HttpRuntime缓存的全部原因?因为memcached也可以。也不是持久存储,虽然您可以设置无限到期时间here和here,但任何新版本的memcached,重新启动以及其他原因都可能导致缓存清除。