有没有人已经在Windows环境中实现memcached用于生产?因为我读过很多博客,所以不建议在Windows中运行memcached,尤其是生产用途,例如在windows上运行memcached.
还有一件事,哪个memcached客户端很适合用c#和.net 3.5?我找到了许多替代品,如Memcached Providers @ Codeplex,Beitmemcached和memcached provider @ Sourceforge
我一直在关注微软最近将Velocity推广为分布式缓存解决方案,该解决方案将与Memcached等竞争对手竞争.
我一直在寻找一个64位版本的Memcached for Windows一段时间没有运气,因为我正在研究的ASP.Net MVC项目的一切都是64位,除了64位之外什么都没用.
现在我们已经在测试中使用ASP.NET MVC进行了对冲(很快就希望RTM),但是StackOverflow似乎并没有做得太糟糕,所以我在那里的担忧有限.但速度仍然是一个未知的数量,并且仍将是Beta(或CTP)多年 - 但它确实有 64位!
在这种情况下,有没有人有相关的经验或观点?我们应该等待Velocity的时间 - 它是否足以与Memcached这样的巨头竞争,或者我们是否应该投入时间试图获得64位版本的Memcached?
我有一项任务是为大规模可扩展的分布式共享内存(DSM)应用程序构建原型.原型只能作为概念验证,但我希望通过选择稍后将在真实解决方案中使用的组件来最有效地利用我的时间.
此解决方案的目的是从外部源获取数据输入,流失它并使结果可用于许多前端.那些"前端"只会从缓存中获取数据并在没有额外处理的情况下提供服务.这些数据的前端命中量实际上可以达到每秒数百万.
数据本身非常不稳定; 它可以(而且确实)变化很快.然而,在最新的处理和缓存之前,前端应该看到"旧"数据.处理和写入由单个(冗余)节点完成,而其他节点仅读取数据.换句话说:没有直读行为.
我正在寻找像memcached这样的解决方案,但是这个特殊的解决方案并不能满足我们下面列出的所有要求:
提前感谢任何想法.
我需要做出的决定之一是在我的系统中使用的缓存框架.有这么多人可供选择,我目前正在调查redis,ehcache和memcached.
任何人都可以指出这三个特定框架的性能基准吗?还有他们的功能概述 - 我对缺点特别感兴趣,即.你可以使用一个而不是另一个的情况.
我正在寻找一个java分布式缓存解决方案.我们想要的功能如下:
我们已经分析了像TerraCotta这样的框架,它似乎是我们从缓存框架中想要的一切...然而,似乎需要一个中心缓存节点,它们成为我们的单点故障.
除推出我们自己的解决方案以外的任何想法?
我们有一个使用nhibernate和二级缓存的网站.我们正在讨论一个人想要关闭二级缓存,因为我们正在转向多个Web服务器环境(前面有一个负载均衡器).
一个论点是摆脱二级缓存并专注于优化和调整Db.另一个参数是将分布式缓存作为二级缓存推出.
我很想听听人们在这里对数据库调优与分布式缓存(在涉及的工作量,成本,复杂性等方面的因素)的关系.
sql-server nhibernate asp.net-mvc distributed-caching second-level-cache
使用.NET实现分布式缓存的最佳方法是什么?
编辑:我正在寻找内部和外部应用程序的通用缓存模式
nonstrict-read-write和之间的真正区别是read-write什么?我可以阅读ehcache和Hibernate文档,但据我所知,他们只说"如果你做更新,读写会更好".我发现它不能令人满意.
我可能遇到像这样配置的长期缓存集合的问题:
<cache name="trx.domain.Parent.children" maxElementsInMemory="5000"
eternal="false" overflowToDisk="false" timeToIdleSeconds="1200"
timeToLiveSeconds="1800">
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, replicateUpdatesViaCopy=false, replicateRemovals=true" />
Run Code Online (Sandbox Code Playgroud)
<set name="children" lazy="false" inverse="true">
<cache usage="nonstrict-read-write"/>
<key column="callout_id" />
<one-to-many class="Child" />
</set>
Run Code Online (Sandbox Code Playgroud)
更新集合时,在更新发生的节点和其他节点上发生了什么?nonstrict-read-write和read-write这里有什么区别?节点是否可能使用缓存中过时的10分钟版本?
请注意冗长的超时和异步复制.
我希望能够利用GIT(及其工作流程)的优势,但没有磁盘访问的成本 - 我只想利用GIT的分布式版本控制功能来生成像memcached和GIT.(最好是在.NET中)
那里有野兽吗?
我正在使用ASP.NET/C#中的Web应用程序,它需要可扩展以处理高用户负载(可能在Web场中运行).由于它将迎合大量用户,大约100万以上,但在线用户数量将在30K-50K左右.我计划使用缓存(基于提供程序),并且想知道:
为所有用户缓存性能是一个好主意吗?我打算缓存所有其他通用数据,比如设置等,但是如何有效地将所有用户缓存在内存中?如果用户更改了他/她的个人资料,我将仅重新加载缓存中的特定用户(拥有所有用户的集合).有关此方法的任何建议吗?
使用上面的用户缓存时,我是否需要担心锁定?编辑配置文件只有一个是用户自己,这将是一个原子操作,尽管在不同的线程中将有多个读取操作.因此,在从缓存中获取用户或更新特定用户时,我应该使用锁吗?
谢谢
阿西夫
caching ×6
java ×3
memcached ×3
asp.net ×2
ehcache ×2
.net ×1
.net-3.5 ×1
appfabric ×1
architecture ×1
asp.net-mvc ×1
c# ×1
git ×1
hibernate ×1
memory ×1
nhibernate ×1
nosql ×1
redis ×1
sql-server ×1
terracotta ×1