c# - AWS C# lambda 使用 Memcached (EnyimMemcached),存储总是失败
问题描述
在 AWS 中,我在私有子网中的 VPC 中设置了一个小型 memcached 节点。我的 lambda 在同一个 VPC 和私有子网中。
我的 lambda 毫无例外地运行 EnyimMemcached 代码。
当我查看 CloudWatch 时,当执行 lambda 时,我的 memcache 节点有连接,它还显示写入的字节数,但“使用的缓存项目字节数”保持为 0,并且存储命令返回“False”。
我的 Get 请求也显示在 Cloudwatch 中,因此似乎与节点存在连接。我得到的总是错过,这是有道理的,因为商店没有成功。
这就是我在测试时设置 memcache 的方式。我希望有人能指出我做错了什么,因为我一直试图解决这个问题。
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 中找到正确的地址设置。
推荐阅读
- c++ - 关于指针、类和构造函数的问题
- c# - Serilog.AspNetCore 库在终端中不起作用
- python - 数据预处理——制作高效的 sklearn 管道
- amazon-web-services - 有没有办法将对象文件从 S3 存储桶复制到 EC2 实例?
- html - 在 https 中添加了带有 iframe 的 http 页面
- javascript - 将字节数组转换为可读流
- if-statement - awk,在健全性检查时跳过当前规则
- c++ - Mac OS X 项目中的 Vorbis 库
- python - 根据总和条件对带有色调的 seaborn 条形图进行排序
- r - 使用 R rvest 抓取表格