Есть ли способ сериализовать объект linq для Memcached?
Я только начинаю переключаться на memcached и в настоящее время на тестировании с memcached.
У меня есть 2 объекта, я создал объект и поместил [Serializable] на него (например, пусть это вызоветObject1
), другой объект создается с использованием Linq DBML (Object2
) ..
Я пытался memcachedList<Object1>
, он работает просто отлично, как шарм, все здесь кэш и загружен правильно.
Но затем я перехожу к объекту Linq, теперь я пытаюсь добавить в memcachedList<Object2>
это не работает, это не добавляет к memcached вообще. ключ не был добавлен
Я перехожу и изменяю режим сериализации на однонаправленный, делаю добавление снова, все еще без надежды.
Есть ли способ заставить это работать?
Вот простой тест, который я только что написал, используя MemcachedProvider из codeplex для демонстрации:
public ActionResult Test()
{
var returnObj = DistCache.Get<List<Post>>("testKey");
if (returnObj == null)
{
DataContext _db = new DataContext();
returnObj = _db.Posts.ToList();
DistCache.Add("testKey", returnObj, new TimeSpan(29, 0, 0, 0));
_db.Dispose();
}
return Content(returnObj.First().TITLE);
}
это из Memcached, магазин не был вызван:
> NOT FOUND _x_testKey
>532 END
<528 get _x_testKey
> NOT FOUND _x_testKey
>528 END
<516 get _x_testKey
> NOT FOUND _x_testKey
>516 END
И в моем профилировщике SQL он вызвал 3 запроса в течение 3 тестов => Доказано, что объект, вызванный из Memcached, является нулевым, а затем запрос.