2015-01-09 8 views

Antwort

10

StackExchange.Redis kann Redis Strings speichern, die binär sicher sind. Das bedeutet, dass Sie ein POCO einfach mit der Serialisierungstechnologie Ihrer Wahl serialisieren und dort einfügen können. Das folgende Beispiel verwendet .NET BinaryFormatter. Bitte beachten Sie, dass Sie Ihre Klasse mit der SerializableAttribute verzieren müssen, damit dies funktioniert.

Beispiel gesetzt Betrieb:

PocoType somePoco = new PocoType { Id = 1, Name = "YouNameIt" }; 
string key = "myObject1"; 
byte[] bytes; 

using (var stream = new MemoryStream()) 
{ 
    new BinaryFormatter().Serialize(stream, somePoco); 
    bytes = stream.ToArray(); 
} 

db.StringSet(key, bytes); 

Beispiel erhalten Betrieb:

string key = "myObject1"; 
PocoType somePoco = null; 
byte[] bytes = (byte[])db.StringGet(key); 

if (bytes != null) 
{ 
    using (var stream = new MemoryStream(bytes)) 
    { 
     somePoco = (PocoType) new BinaryFormatter().Deserialize(stream); 
    } 
} 
+0

OK danke für die Antwort – Sherry

+0

Es ist ein gutes Beispiel, bitte, bitte, bitte BknaryFormatter nicht verwenden. Je./cc @Duke –

+0

@MarcGravell Warum? – Frank

Verwandte Themen