使用 Memcached (EnyimMemcached) 的 AWS C# lambda,存储总是失败

AWS C# lambda using Memcached (EnyimMemcached), store always fails

在 AWS 中,我在私有子网的 VPC 中设置了一个小型 memcached 节点。我的 lambda 在同一个 VPC 和私有子网中。

我的 lambda 无一例外地运行 EnyimMemcached 代码。

当我在 CloudWatch 中查看时,执行 lambda 时会连接到我的内存缓存节点,它还显示写入的字节数,但“使用的缓存项字节数”保持为 0,存储命令 returns“错误”。

我的Get请求也显示在Cloudwatch中,所以似乎有连接到节点。我得到的总是一个错过,这是有道理的,因为商店不成功。

这就是我在测试时设置内存缓存的方式。我希望有人能指出我做错了什么,因为我一直在努力解决这个问题。

var loggerFactory = new LoggerFactory();
ILogger logger = loggerFactory.CreateLogger<ValuesController>();

var memcacheOptions = new MemcachedClientOptions();

var config = new MemcachedClientConfiguration(loggerFactory, memcacheOptions);
config.Protocol = MemcachedProtocol.Binary;

var mc = new MemcachedClient(loggerFactory, config);

bool done = mc.Store(StoreMode.Set, "foo", "bar", DateTime.Now.AddMinutes(5));

谢谢

进行以下更改后开始工作:

var memcacheOptions = new MemcachedClientOptions();
memcacheOptions.Protocol = MemcachedProtocol.Binary;

var config = new MemcachedClientConfiguration(loggerFactory, memcacheOptions);
config.AddServer("memcache_server_address:port");

现在我正在努力在 Startup 的 ConfigureServices 中找到正确的地址设置。