Gibt es überhaupt ein Linq-Objekt für Memcached zu serilisieren?

Ich fange gerade an, zu memcached zu wechseln und teste gerade mit memcached.

Ich habe 2 Objekte, habe ein Objekt erstellt und [Serializable] darauf platziert (zum Beispiel, lassen Sie uns dies aufrufenObject1) wird das andere Objekt mit Linq DBML erstellt (Object2) ..

Ich habe versucht, mich zurückzuhaltenList<Object1>, es funktioniert einwandfrei, wie Charme, alles hier ist Cache und richtig geladen.

Aber dann gehe ich zum Linq-Objekt und versuche, es zu memcached hinzuzufügenList<Object2> Dies funktioniert nicht, es wurde überhaupt nicht zu memcached hinzugefügt. Es wurde kein Schlüssel hinzugefügt

Ich gehe weiter und ändere den Serialisierungsmodus auf Unidirektional, mache das Hinzufügen nochmal, noch keine Hoffnung.

Gibt es sowieso, um diese Arbeit zu machen?

Hier ist der einfache Test, den ich gerade geschrieben habe und der MemcachedProvider von Codeplex verwendet, um Folgendes zu demonstrieren:

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);
}

Dies ist aus Memcached, es wurde kein STORE aufgerufen:

> 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

Und in meinem SQL-Profiler hat es 3 Abfrage für 3 Testzeit aufgerufen => Bewiesen, dass das von Memcached zurückgerufene Objekt null ist, dann wird es abgefragt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage