2017-07-16 36 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核心變爲可用(如果有的話還沒有)