如何在c#中使用enyim memcached客户端与亚马逊elasticache
我在Amazon ElastiCache上创建了一个缓存集群。 它给了我一个终点地址。 现在我想将数据存储在Amazon ElastiCache中。 为此,我正在使用enyim memcached客户端。
服务器给出错误;
Enyim.Caching.Memcached.ServerPool的类型初始值设定项会引发错误
我的配置看起来像这样;
<enyim.com>
<memcached>
<servers>
<!-- put your own server(s) here-->
<add address="<MyendPointAddress" port="11211" />
</servers>
<socketPool minPoolSize="10" maxPoolSize="100"
connectionTimeout="00:01:10" deadTimeout="00:05:00" />
</memcached>
</enyim.com>
在C#中我写过类似的东西;
using (MemcachedClient client = new MemcachedClient())
{
client.Store(Enyim.Caching.Memcached.StoreMode.Add, key, value);
var l = client.Get(key);
}
当我使用本地主机时,代码不会抛出任何错误,但不会存储任何内容。
编辑:现在我已经转移到BeIT memcached客户端。 它运行良好,但是返回null作为Get()请求的输出。
不要使用confiugration节点,ElastiCache设置一个配置终点,您可以使用它们具有的Java或PHP库,或者自行获取节点。 他们记录了大部分如何在开发人员文档上使用此配置节点。
这样做的好处是,无论何时添加或删除节点,都不必重新配置应用程序,只需询问memcached配置节点即可。
如果您不想这样做,那么只需转到节点并将它们添加到您的配置中,就像您刚刚拥有一堆Memcached服务器一样。
这个问题已经有一段时间了,但如果其他人面临同样的问题。
enyim.memcached配置需要像这样;
<configSections>
<section name="clusterclient" type="Amazon.ElastiCacheCluster.ClusterConfigSettings, Amazon.ElastiCacheCluster" />
</configSections>
<clusterclient>
<endpoint hostname="[Add your ElastiCache cluster endpoint here]" port="11211" />
<node nodeTries="5" nodeDelay="1000" />
<poller intervalDelay="60000" />
</clusterclient>
然后,您可以通过C#代码访问Elasticache;
new MemcachedClient(new ElastiCacheClusterConfig()).Store(key, value, expireAt)
new MemcachedClient(new ElastiCacheClusterConfig()).Get(key)
这里是一个完整的例子; http://www.omidmufeed.com/how-to-use-elasticache-memcached-or-runtime-caching-in-c/
链接地址: http://www.djcxy.com/p/54099.html上一篇: How to use enyim memcached client with amazon elasticache in c#