這篇還是記錄在 StickerAction 的效能上做的處理。 StickerAction 用 Simplepie 來讀取 RSS, 然後用上了 cache, 來避免一直對外部做 request, 也減少流量的支出。研究了一下 Simplepie 的 cache 儲存方式, Simplepie 就是把他所抓取的 url 做 md5 當成檔名存成 cache 檔案, 檔案裡面則是存放 serialize 後的資料。
所以為了搭配上一篇所提到的存取控制, 計算這次是否有對外部做了 request, 所以寫了下面這一段, 來判斷是否有對外存取, 進而做存取控制。
後來就跑去看了 Simplepie 的 svn, 有了的 DB cache 的功能, 就抓回來玩看看, 所以目前就將 Simplepie 換成 svn trunk 裡最新的版本 (rev. 995 ), 用 DB 來存放 cache。 不過 Simplepie 所提供的 db.sql 有點怪怪的, 兩個 table 都沒有 primary key, 另外也用到 TEXT 欄位當 unique key 跟 index, 可是明明 VARCHAR 可以解決, 所以我就把欄位型別都改掉了。