可以看看另外一个 REDIS 缓存
定量缓存和定时缓存
ShareCache本身也是支持分布式的, 为什么进行横向扩展? 个人认为, WebService之类根本不适合这个系统.
楼主可以把服务器E,就是你说的缓存换成一个数据库服务器,然后写个Websevice 服务来生成需要的接口,其他几个服务器都能够调用这个接口了,那问题就解决了呗
你写个服务不就可以了???
如果你的数据量是固定的,或者即使不固定也是在某一个范围内波动的,而不是任何数据都可能拿来缓存 那么你就不应该用缓存,直接放内存里 缓存应该处理那些动态的数据,比如用户A访问了某些数据,用户B,C,D也要访问这些数据,那么为了加快速度,在用户A访问的时候从数据库中读取,读完就先放缓存里,在缓存过期之前,B,C,D去访问数据都不需要重新读数据库而是直接读缓存. 这些数据事先无法预测,可能A访问了这些数据之后,其他人就不再访问了,那么要及时的将这些无用的数据清理掉. 而对于你的需求来说,数据事先都是可以预测的,服务去轮询哪些数据每次都是一样的,而不是动态的 这东西完全可以放到静态字典里
为什么你们要用ShareCache呢,对于你描述的业务情况,完全可以把数据全部常驻内存,而不是使用缓存,相信GC进行内存释放的效率应该要远高于ShareCache(没用过ShareCache,所以此评价可能存在问题)
要么用空间换时间,要么用时间换空间 不想占用4G内存,那就多线程全部在数据库里排队等待检索好了,还用缓存干嘛
如果你招聘一个程序员,你应该问问他是否学习过使用 System.Web.Caching.Cache 类的使用,是否知道数据缓存怎么用(如果是编写asp.net程序,还要知道页面缓存怎么用、页面片段缓存怎么用)。 如果它说“我在原来公司里看人家用过ShareCache,没听说过.net framework还有缓存框架”,那么你就可以想起这个帖子了。你招聘了一个不太熟悉 .net 框架的程序员。
110,534
社区成员
642,575
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧