当前位置:编程问答 > C#/ASP.NET >

缓存与并发

--------------------编程问答--------------------
引用 楼主 winner381 的回复:
如果发生并发,缓存机制是怎么解决的,还是说要用到lock。
比如我用到界面缓存,当1000个人同时访问的时候,是同时生成1000个缓存页面,还是后面的999个等第一个生成后访问。还有数据缓存是不是也一样的处理方式。。。


后边999个,或者后边998个,或者后边997个,有什么区别吗?假设恰好3个人读取的都不是缓存,假设缓存结果恰好是第3个人读取的加过,那么至少后边997个人使用到缓存了吧?!比如说原来是1000个人都使用不到缓存(实际上是1000个人发起的50000次使用不到缓存),你难道因为纠结999还是998还是997(49999还是49998还是49997)而怀疑缓存的作用?

我觉得你纠缠在所谓“完美”的概念,因小失大。 --------------------编程问答-------------------- 有些概念,如果我们这样说,你就能轻松使用(注重实践);而如果你一定要反过来用你自己的语言说,表面上看起来你好像是还是在讨论同样的问题,其实你引入了无尽的纠结内容(纠结在不靠谱的“完美无暇”)。 --------------------编程问答-------------------- 谢谢大牛的回复。

private static readonly object LockObject = new object();
lock (LockObject)
{从数据库读取数据}

是否用上面的代码来锁住代码会更好,这样读取只有一次,后面的全部用缓存。

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,