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

问题描述 投票:0回答:2

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

我的 lambda 运行 EnyimMemcached 代码,没有异常。

当我查看 CloudWatch 时,执行 lambda 时会看到与我的 memcache 节点的连接,并且它还显示写入的字节,但“使用的缓存项目字节”保持为 0,并且存储命令返回“False”。

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

谢谢

c# amazon-web-services memcached amazon-elasticache enyim.caching
2个回答
2
投票

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

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

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

现在我正在努力在启动的配置服务中找到正确的地址设置。


© www.soinside.com 2019 - 2024. All rights reserved.