redis - 使用 ServiceStack 将 System.Data.Dataset 存储和检索到 Redis

标签 redis servicestack

我刚接触 RedisServiceStack.Redis 并尝试学习它。 以前我使用过 ASP.NET 缓存,我在其中存储数据集以在需要时进行缓存和检索。

我试图用 ServiceStack.Redis 完成同样的事情,但它引发了异常:

 An unhandled exception of type 'System.StackOverflowException' occurred in ServiceStack.Text.dll

这是代码

static void Main(string[] args)
    {
        var redisClient = new RedisClient("localhost");

        DataSet ds = new DataSet();
        ds.Tables.Add("table1");
        ds.Tables[0].Columns.Add("col1", typeof(string));
        DataRow rw = ds.Tables[0].NewRow();
        rw[0] = "samtech";
        ds.Tables[0].Rows.Add(rw);

        //following line raises exception
        redisClient.Set<System.Data.DataSet>("my_ds", ds, DateTime.Now.AddSeconds(60));
    }

有人能告诉我我做错了什么吗?
我可以只将自定义类存储到 Redis 而不是 DataSet 吗?

最佳答案

DataSet 是序列化的极差候选者,因此不受任何 ServiceStack 库的支持,仅使用干净的 POCO 模型。

关于redis - 使用 ServiceStack 将 System.Data.Dataset 存储和检索到 Redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19433470/

相关文章:

node.js - 停止 RabbitMQ 消费者进程当前消息

node.js - 在 NodeJS 上缓存 - Redis vs CouchDB vs ..?

clojure - 在 Leiningen 中使用 redis-clojure 时出现问题

phpMyAdmin 相当于 MySQL for Redis?

redis - 使用 Redis MQ 的 CQRS

asp.net - OrmLite 真的与数据库无关吗?

multithreading - 我可以选择哪种线程模型?

c# - Xamarin.iOS 项目上的 ServiceStack 客户端

c# - ResolutionException - 获取 "Required dependency of type *********** could not be resolved"

.net - 是否有任何命令可以传递键列表并获取 Redis 中的哈希列表?