Cache设计需要考虑以下问题
1. Cache的数据同步问题
2. Cache的更新问题
对于数据同步,必须考虑多线程相关技术,要点有
1. lock关键字
2. ReaderWriterLock/ReaderWriterLockSlim
3. InterLocked
4. Mutex
5. Monitor
对于数据更新,要考虑以下问题
1. 自动更新(包括:有效期的使用)
2. 手动更新(包括:代码直接调用,时间通知)
3. WeakReference(如果要考虑空间因素)
之前发表了一篇文章,叫看看这个Lock可不可靠。
现在这个Lock方案已经被正式使用,以上是对cache的技术总结。
还希望各位提提意见。