zoukankan      html  css  js  c++  java
  • 用C#实现redis存储和读取DataTable或DataSet数据

     1.存储

    通过将DataTable或者DataSet数据进行序列化转换成内存流,将流化的对象放入字节数组,然后存到字节数组中

            /// <summary>
            /// 插入DataTable缓存
            /// </summary>
            /// <param name="key">缓存键</param>
            /// <param name="item">缓存对象</param>
            /// <param name="minute">过期时间(分钟)</param>
            public static void SetMemByDataTable(string key, DataTable dt, int minute)
            {
     
                DateTime expiryTime = DateTime.Now.AddMinutes(minute);
                System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();//定义BinaryFormatter以序列化DataSet对象   
                System.IO.MemoryStream ms = new System.IO.MemoryStream();//创建内存流对象   
                formatter.Serialize(ms, dt);//把DataSet对象序列化到内存流   
                byte[] buffer = ms.ToArray();//把内存流对象写入字节数组   
                ms.Close();//关闭内存流对象   
                ms.Dispose();//释放资源   
                Redis.Set(key, buffer, expiryTime);
            } 

    2.读取

    将数据从Redis中读取出来,通过二进制读取出来的是一个object对象,然后将该对象强制转换为对应的数据类型

            public static DataTable GetMemByDataTable(string key)
            {
                var item = Get(key);
                return (DataTable)item;
            }

    本文来自博客园,作者:郝维明,转载请注明原文链接:https://www.cnblogs.com/haoweiming/p/14646988.html

  • 相关阅读:
    mariadb数据库galera群集配置
    视频降噪处理
    测试
    WPF RichTextBox
    WPF ListBox
    WPF SelectedIndex
    项目-答题
    Show 或者 ShowDialog时出现的错误
    项目-数据库实体生成器
    Alfred 使用教程
  • 原文地址:https://www.cnblogs.com/haoweiming/p/14646988.html
Copyright © 2011-2022 走看看