Лямбда AWS C# с использованием Memcached (EnyimMemcached), всегда происходит сбой сохранения

В AWS я настроил небольшой узел memcached в своем VPC в частной подсети. Моя лямбда находится в том же VPC и в частной подсети.

Моя лямбда запускает код EnyimMemcached без исключений.

Когда я смотрю в CloudWatch, есть соединения с моим узлом 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));

Спасибо


person JDcode    schedule 20.07.2020    source источник


Ответы (1)


После внесения следующих изменений он начал работать:

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

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

Сейчас я работаю над поиском правильной настройки адреса в ConfigureServices в Startup.

person JDcode    schedule 24.07.2020