我刚刚开始切换到memcached,目前正在使用memcached进行测试.
我有2个对象,我创建了一个对象并在其上放置了[Serializable](例如,让我们调用它Object1),另一个对象是使用Linq DBML(Object2)创建的.
我试着memcached List<Object1>,它工作得很好,就像魅力一样,这里的一切都是缓存和正确加载.
但接着,我转到Linq对象,现在我尝试添加到memcached List<Object2>这不起作用,它根本没有添加到memcached.没有添加密钥
我继续前进并将序列化模式更改为单向,再次添加,仍然没有希望.
反正有没有让这项工作?
这是我刚刚编写的简单测试,使用codeplex中的MemcachedProvider来演示:
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);
}
Run Code Online (Sandbox Code Playgroud)
这是来自Memcached,没有调用STORE:
> 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
Run Code Online (Sandbox Code Playgroud)
在我的SQL分析器中,它调用3个查询3个测试时间=>证明从Memcached返回的对象为null,然后查询.