欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
ASP.NET使用Memcached高緩存實(shí)例(初級教程) - VC/MFC/C++/ja...
Memcached是一個(gè)高性能的分布式內存對象緩存系統,用于動(dòng)態(tài)Web應用以減輕數據庫負載。它通過(guò)在內存中緩存數據和對象來(lái)減少讀取數據庫的次數,從而提供動(dòng)態(tài)、數據庫驅動(dòng)網(wǎng)站的速度。Memcached作為緩存技術(shù)的解決方案,已經(jīng)是眾所周知了;現在很多WEB應用都在使用它——包括一些知名的網(wǎng)站。若你還不知道這些,請在閱讀之前先了解一下。
        在A(yíng)SP.NET中使用Memcached,有很多文章都有介紹,以下是我個(gè)人的使用經(jīng)驗。
        一,準備
        你需要有一下軟件
       VS.NET(05/08)
       SQLSERVER
       memcached服務(wù)器端以及客戶(hù)端類(lèi)庫(開(kāi)源軟件,下載即可)
其中,客戶(hù)端類(lèi)庫包括以下幾個(gè)DLL:
       Memcached.ClientLibrary.dll
       ICSharpCode.SharpZipLib.dll
       log4net.dll
       二,安裝memcached服務(wù)器端
       將memcached.exe復制到任意目錄下,如 c:,在命令行輸入:
memcached.exe -d install
memcached將作為一個(gè)服務(wù)常駐系統內存了
      三,建立ASP.NET工程
     創(chuàng )建一個(gè)ASP.NETWEB項目,命名為MMCWEB,添加以上提到的幾個(gè)客戶(hù)端類(lèi)庫的引用。
     四,配置
     memcached使用了log4net,所以我們先配置log4net
在web.config里找到configSections節點(diǎn),添加以下內容
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

再在configSections節點(diǎn)之外,增加以下內容:
<log4net>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
            <param name="File" value="LogFiles/"/>
            <param name="AppendToFile" value="true"/>
            <param name="MaxSizeRollBackups" value="10"/>
            <param name="StaticLogFileName" value="false"/>
            <param name="DatePattern" value="yyyy-MM-dd".txt""/>
            <param name="RollingStyle" value="Date"/>
            <layout type="log4net.Layout.PatternLayout">
               <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss}[%thread] %-5level %logger %ndc - %message%newline"/>
            </layout>
        </appender>
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
            <layout type="log4net.Layout.PatternLayout">
               <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss}[%thread] %-5level %logger %ndc - %message%newline" />
            </layout>
        </appender>
        <root>
            <level value="ALL" />
            <appender-ref ref="RollingLogFileAppender" />
            <appender-ref ref="ConsoleAppender" />
        </root>
        <logger name="Memcached.ClientLibrary">
            <level value="WARN" />

        </logger>
    </log4net>
啟動(dòng)調試,若沒(méi)出現配置的出錯提示,并且在網(wǎng)站目錄下有文件夾LogFiles,就說(shuō)明log4net配置成功了。五,初始化SockIOPool
SockIOPool是什么東東?SockIOPool是Memcached客戶(hù)端提供的一個(gè)套接字連接池,通俗講,就是與Memcached服務(wù)器端交換數據的對象。SockIOPool在應用程序啟動(dòng)時(shí)初始化一次就可以了,我把這個(gè)工作放在GLOBAL.ASAX.CS的Application_Start方法里
char[] separator = { ',' };
            string[] serverlist = ConfigurationManager.AppSettings["Memcached.ServerList"].Split(separator);

            // initialize the pool for memcache servers
            try
            {
                SockIOPool pool = SockIOPool.GetInstance();
                pool.SetServers(serverlist);

                pool.InitConnections = 3;
                pool.MinConnections = 3;
                pool.MaxConnections = 50;

                pool.SocketConnectTimeout = 1000;
                pool.SocketTimeout = 3000;

                pool.MaintenanceSleep = 30;
                pool.Failover = true;

                pool.Nagle = false;
                pool.Initialize();
            }
            catch (Exception err)
            {
                //這里就可以用Log4Net記錄Error啦!
            }

注意AppSettings["Memcached.ServerList"]是在WEB.CONFIG里設置的,所以WEB.CONFIG的appSettings的子節點(diǎn)里需要有以下一行
<add key="Memcached.ServerList" value="127.0.0.1:11211"/>
啟動(dòng)調試服務(wù)器,若沒(méi)有出錯的日志記錄,說(shuō)明IO連接池已經(jīng)開(kāi)辟成功。
        六,使用Memcached
       終于進(jìn)入正題了,不過(guò)使用之前,我們還需要準備一些數據。
      創(chuàng )建一個(gè)實(shí)體類(lèi)People,并加上Serializable屬性?。?!
      對應的數據庫里,增加一張表,字段對應實(shí)體類(lèi),插入一些測試數據。持久層和業(yè)務(wù)層的設計就略過(guò)了,他們負責向提供一些數據,返回類(lèi)型可自定,若ILIST,DATASET。
     Memcached使用起來(lái)就很簡(jiǎn)單了,比如后臺檢索出一組People類(lèi)型的數據,放在一個(gè)叫peopleList的arraylist里,而且這個(gè)arraylist要頻繁使用,只需要這樣
MemcachedClient mc = new MemcachedClient();
mc.EnableCompression = true;
mc.Set(key, peopleList);     
         上面的key是用來(lái)訪(fǎng)問(wèn)這個(gè)arraylist的鍵,Memcached里的數據都是保存為鍵-值對的。
一旦mc.KeyExists(key)為T(mén)RUE,就用return mc.Get(key) as ArrayList提取數據,刪除時(shí),使用 return mc.Delete(key);等等??梢宰约鹤聊チ?。

         以上只是演示,其實(shí)數據緩存是一項復雜而繁瑣的工作,不僅需要后臺代碼的分層優(yōu)化,也需要數據庫對大數據量訪(fǎng)問(wèn)的策略和調優(yōu)。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Memcached 高性能的分布式內存對象緩存系統 Memcached的安裝、使用實(shí)例
分布式緩存系統Memcached簡(jiǎn)介與實(shí)踐
Java的Memcached客戶(hù)端
memcached搭建緩存系統
memcache講解和在.net中初使用
在A(yíng)SP.NET中使用Memcached
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久