2017-07-16 96 views
4

我正试图将简单的memcached客户端从.NET 4移植到AWS Lambda上的.Net Core。我努力配置新的EnyimMemcachedCore客户端,因为示例(https://github.com/cnblogs/EnyimMemcachedCore)使用appsettings.json来设置配置,但使用.net核心的Lambda函数不使用appsettings.json。我需要能够在C#代码中设置服务器/端口/端点。如何配置EnyimMemcachedCore以访问AWS Lambda中的Elasticache?

任何人都可以给我一个例子使用EnyimMemcachedCore手动创建配置?

标准的.NET应用Enyim的是微不足道的关键提取和返回值:

using Enyim.Caching; 
using Enyim.Caching.Configuration; 
using Enyim.Caching.Memcached; 

... 
// setup Enyim memcached client 
MemcachedClient myCache; 
MemcachedClientConfiguration config; 
config = new MemcachedClientConfiguration(); 
config.AddServer("theIP", thePort); 
config.Protocol = MemcachedProtocol.Text; 

// instantiate client 
myCache = new MemcachedClient(config); 

// get the stored item 
var result = myCache.Get(key); 

我如何做同样的事情(配置memcached的客户端代码,而不是在配置文件中)与EnyimMemcachedCore?

+0

,您仍然可以设置指向ElastiCache的MemcacheClientConfiguration。 'config.AddServer(“something.cfg.usw1.cache.amazonaws.com”,11211);'这不适合你? AWS尚未发布用于DotNet Core的ElastiCache客户端和集群库。 –

回答

1
// setup Enyim memcached client 
var config = new MemcachedClientConfiguration(); 

//add each node manually if you can't get the Amazon.ElastiCacheCluster config for Core, 
//but if you can, use that instead of MemcachedClientConfiguration 
config.AddServer("something.0001.usw1.cache.amazonaws.com", 11211); 
config.AddServer("something.0002.usw1.cache.amazonaws.com", 11211); 

config.Protocol = MemcachedProtocol.Text; 

// instantiate client 
var myCache = new Enyim.Caching.MemcachedClient(config); 

可以单独添加节点,直到群集配置为.NET核心变为可用(如果有的话还没有)