C#中使用字典模拟Memcached
不用HashTable而使用字典是因为据说字典快。其实想想也差不多能明白,毕竟字典是强类型。
自定义了一个存储页面信息的类,和页面的别名一起,组成一个字典的值对。用别名主要是为了实现 url/?name的这种伪目录的效果。
比较有意思的是,我自定的存储页面信息的类,继承了IDisposable接口。在实现Dispose的时候,我使用线程池,放置了一个延迟的方法
让对象在字典中remove掉自己。原来是想实现定期自动更新缓存,的效果,虽然最后没有用这个方法,只是觉得很有意思。
我的缓存自动更新,最后是使用Timer,定期遍历某个页面的所有栏目,并对标记为可自动更新的栏目重新写入数据。我觉得与整页
更新相比,其智能程度和资源权衡方面都要好很多。
今天下午完成了模板和样式表套用模式的构思和基本实现。要不是刚才那个大bug的阻碍,现在应该开始考虑页面模块的问题了...
不过最终还是要实现集群的,单机怎么敢说是Memcached呢?
其实没什么技术含量……做出来的东西怎么看都没有没做出来的东西技术含量高