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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM