c# – 如何配置EnyimMemcachedCore以访问AWS Lambda中的Elasticache?

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

任何人都可以使用EnyimMemcachedCore手动创建配置吗?

使用Enyim的标准.net很容易通过键获取并返回一个值:

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);

如何使用EnyimMemcachedCore执行类似的操作(在代码中配置memcached客户端,而不是在配置文件中)?

最佳答案

// 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 Core(如果尚未可用)

点赞