簡單資料快取類(c )

2022-08-20 02:39:12 字數 2394 閱讀 6860

using system;

using system.data;

using system.data.sqlclient;

using system.threading;

namespace wj.lib.base

///

/// datebuffer 的摘要說明。

///

public class datebuffer

int mgetdatetype;   //資料型別

//object mobjbuffer;  

string msql;

sqlcommand msqlcom;

datetime mflagdt; //上次更新時間

int mbuffertime;     //更新時間間隔

thread m_thread;  //超時時開啟程序更新資料

datatable mdtbuffer;

public datebuffer()

mbuffertime = 2;

public datebuffer(sqlcommand ssqlcom)

mbuffertime = 2;

msqlcom = ssqlcom;

//從儲存過程中獲取資料

mgetdatetype = 2;

public datebuffer(string ssql)

mbuffertime = 2;

sql = ssql;

//從查詢語句中獲取資料

mgetdatetype = 1;

///

/// 設定快取時間(分鐘)

///

public int buffertime

setmbuffertime = value;

///

/// 獲取快取資料

///

public datatable buffer

getcheckdate(true);

return mdtbuffer;

///

/// 設定資料查詢儲存過程

///

public sqlcommand sqlcom

setif (mdtbuffer == null)

mdtbuffer = new datatable();

msqlcom = value;

//從儲存過程中獲取資料

mgetdatetype = 2;

checkdate(false);

getreturn msqlcom;

///

/// 設定資料查詢sql

///

public string sql

setif (mdtbuffer == null)

mdtbuffer = new datatable();

msql = value;

//從查詢語句中獲取資料

mgetdatetype = 1;

checkdate(false);

getreturn msql;

///

/// 保持資料更新

///

void checkdate(bool checktime)

tryif (!checktime)

//需要立即更新資料

updatedate();

else if (mflagdt < datetime.now)

//更新資料時間超時,採用執行緒更新資料

if(m_thread == null

|| (m_thread.threadstate != system.threading.threadstate.running

&& m_thread.threadstate != system.threading.threadstate.waitsleepjoin ))

m_thread = new thread(new threadstart(updatedate));

m_thread.start();

catch

void updatedate()

datatable dt = null;

tryif (mgetdatetype == 1)

//通過查詢語句獲取表資料

dt = getdatetable(msql);

else if(mgetdatetype == 2)

//通過儲存過程獲取表資料

dt =getdatetable(ref msqlcom);

mflagdt = datetime.now.addminutes(mbuffertime);

catch

finally

if (dt != null)

mdtbuffer = dt;

簡單資料快取類(c )

using system using system.data using system.data.sqlclient using system.threading namespace wj.lib.base public datebuffer sqlcommand ssqlcom public da...

php簡單資料快取類

公司手機觸屏站 由於頁面太多,所以需要做資料快取,就隨便寫乙個資料快取類。直接貼 fianl m foxmail.com 快取類 把資料查詢出,並序列化寫入檔案 class cache 讀取快取檔案 public function open name else 寫入快取檔案 public funct...

C 簡單資料採集

這裡指的是,你發現任意乙個頁面,沒有rss,沒有資料介面,只是通過瀏覽器能夠訪問,把上面的資料用 程式拿過來用。基本原理 1,通過http請求頁面,返回字串的 表示式,提取有用的資料,排除無用的 3,有需要的可以把資料儲存到自己的資料庫中,也報過處理等。4,把提取出來的資料生成自己需要的頁面。乙個偷...