Я пытаюсь реализовать кеш redis для моего проекта C#. Я использовал redisClient, который хорош для хранения нормальных типов данных, таких как int и строки, но не для хранения объектов. Затем я переместился на RedisTypedClient, который должен хранить мой объект в redis, но он хранит пустой объект. И когда я пытаюсь восстановить этот объект, он создает новый объект и возвращает его.ServiceStack.Redis хранит пустой объект в кеше
Вот мой тестовый код, который я пытаюсь получить, но он не работает.
internal class Test
{
public int a;
public int b;
public string s;
public void show()
{
Console.WriteLine(a + " " + b + " " + s);
}
}
public class Program
{
private static void Main(string[] args)
{
using (var redisClient = new RedisClient("localhost"))
{
var t = new List<Test>();
t.Add(new Test {a = 1, b = 2});
t.Add(new Test {a = 3, b = 4});
var key = "e";
var rtest = redisClient.As<Test>();
rtest.Store(t[0]).show();
Console.WriteLine(t[0].GetId());
var q = rtest.GetById(t[0].GetId());
}
Console.ReadKey();
}
Я также попытался использовать список redis.
IRedisList<Test> tl = rtest.Lists["testl"];
tl.Add(new Test { a = 1, b = 2 });
tl.Add(new Test { a = 3, b = 4 });
var rlist = rtest.Lists["testl"];
То же самое происходит и в этом случае. Он хранит пустые объекты.
Я новичок в redis на окнах, и возможно, что я ошибаюсь. Но я не могу заставить его работать. Любая помощь будет оценена.
Обратите внимание, что ServiceStack является коммерчески поддержка продукт. См. [Free-quotas] (https://servicestack.net/download#free-quotas) на servicestack.net. – thepirat000