近來在寫一個論壇程式作練習。
但對於資料儲存結構方面比較頭痛。
我的作法原是:
forumN/list.pl 存放所有forumN 的主題內容和點選、回覆數
而 ForumN/ID.cgi 就是主題和回覆的資料,第1行是主題資料,後面的就是回覆內容。
聽說Perl 在多人的情況處理大檔案會有丟失的危機。
正因如此,我不知道如何設計,一方面可防止資料崩潰,另一方面又可以以最小的檔案做到最多的東西。
list.pl 原意是forum.cgi 執行時,一個可直接得到主題資料的地方。
但一考慮到時常變更的點選數是,就可能不太合適了。
請問各大大有甚麼好的主意?
你的思路和以前leoboard的结构很类似阿。。。至于防止资料丢失的问题,你参考leobbs的filelock就可以了。。
比較想知2進位檔案會不會丟失?
而且各位有沒有更好的文本數據儲存格式方法?
其实都一样的。。
丢失并不是因为perl语言。而是因为存在同时访问(读写)而已:)
lock的原理就是一个人写的时候不允许别人写而已。
这个和2进制没有关系。
只是2进制的文件少也许同时写的几率小?而已。
2進檔做的可以是部份變
不像以前的要讀取整個檔案
再寫入
減低同時間寫入的破壞程度
而且是變份變
同時寫入 同一個區段也只會影響一個資料段的資料
而且部份變的寫入時間比全部重新寫入快
現在用了seek,簡化了list.pl和加了cache。
預定首2頁的文章會寫入cache。
使用了seek 和文本以便在index 中找文章位置~
seek适合定字节数据之访问:)
我的好像不存在这个问题,哈哈。
何解@@?
不要理会他,他的根本就是自己写的东西。嘿嘿