实际上将资料丢入文件中会比使用数据库还快,若还很在乎速度,可以在 UNIX 机器中装上 RAM Disk,再将文件的存取路径都设在该 RAM Disk 上,保证存取速度能满足严苛的要求。在有些以高速度搜寻引擎为号召的网站,甚至将整个数据库资料都放到 RAM Disk 中,马上让系统速度提高十倍百倍,而且 RAM 的价格和其它解决方案相比的话还算很便宜。若使用 Windows NT,那就没办法了,看微软什么时候提供,或者用 Third Party 的产品了。

解决方案 »

  1.   

    自己写一个类
    TExt API
    模仿 Application .
    不难,实现也可靠.
    text file可以在 Ram disk.这样就可以保存多个变量.不过内容最好用MIME64转转
    这样就没有后顾之忧了.....
      

  2.   

    jiangbo:谢谢你,
       你说让我写一个模仿 Application 的TExt API类,可是有这样几个问题:   
       1、Application($variable)利用不同的$variable来区分不同的Application集,我怎样利用文本来实现,如果一个Application
          对应一个文本,岂不是很慢。
       2、如果用一个文本写所有的Application集,怎样实现取出功能,每次查找一便吗?
       3、如何实现Application的lock和unlock功能,如果在某个时刻将文件设为只读,如何确保以后排队的请求没有遗漏。
       4、NT下用VC操作内存可以实现(只是底层的东西要自己做很多),可是能和PHP结合来用吗?
    以下是在linux下实现Application功能的一小段,作者是何志强:…………………………define("__Class_Application",1,1);define("Semaphore_Key",1000,1);
    define("SharedMem_Key",2000,1);
    define("SharedMem_Size",65535,1); //共享内存大小class Application{
       var $SemaphoreID;
       var $SharedMemID;
       var $VarIndexes;   function Application(){
          $this->SemaphoreID = sem_get(Semaphore_Key,1,0600);
          $this->SharedMemID = shm_attach(SharedMem_Key,SharedMem_Size,0600);      $this->lock();
          $this->VarIndexes = @shm_get_var($this->SharedMemID,0);
          if(empty($this->VarIndexes)){
             $this->VarIndexes = array();
             shm_put_var($this->SharedMemID,0,$this->VarIndexes);
          }
          $this->unlock();
       }…………………………请问类似的,我该怎样写呢?