我正在windows应用程序(c#)中使用c#
这对于单机来说很好。现在,我希望在运行在不同计算机上的多个实例之间共享缓存。
所以我正在考虑使用MEMCACHED或Hazelcast IMDG
任何c#实现或想法/结果都是如何工作的。请注意,我这样做是为了windows应用程序。任何其他建议也是受欢迎的。
谢谢
发布于 2017-04-04 05:56:43
在内存缓存中使用,需要清楚地理解以下用例:
IQueryable这样的Sql Server实体框架提供的查询能力吗?如果它只存在于内存转储中,那么Redis, MemCache就很好了,因为它们只是将数据存储在内存中作为二进制,在客户端位置被反序列化,如果您正在查询大量数据,并且希望在源上执行过滤、排序、分页等处理,这是不太好的。
如果需要IQueryable处理,那么检查一下ApacheIgnite.Net. Hazelcast and ScaleOut,我发现Apache是最高级的,因为它只是不支持Expression trees, via IQueryable,也支持Ansi Sql,这比其他缓存有很大的优势。
还有一点,为什么不用像VoltDB这样的现代内存系统或像Raven这样的文档数据库来替换Server或类似的数据库,因为它们更快,集成得很好,完全不需要分离缓存。
发布于 2017-04-04 05:52:12
我建议您使用Redis进行缓存。
这里有一个很好的Redis c#库:ServiceStack.Redis
https://stackoverflow.com/questions/43199166
复制相似问题