我正在研究一個具有新聞提要的iPhone應用程序。這條新聞來自我寫的JSON網絡服務(目前居住在筆記本電腦上的MAMP上)。清除SDWebImage緩存
無論如何,我使用MySQL DB來存儲對我的圖像的引用,這些引用存儲在apache文件系統中。
我把它們存儲在一個非常特殊的方式,這是我如何存儲他們:
全部圖片:ng_(postid)_(seqid)
大拇指:tng_(postid)_(seqid)
帖子ID是唯一的ID分配給每個消息後。
SeqID是僅對該新聞文章的照片唯一的ID。
我可能沒有做出很明確......例如:
在第一篇文章中的圖像文件可能看起來像這樣
ng_1_1.jpg
ng_1_2.png
ng_1_3.jpg
的圖像文件的第二個職位可能看起來像這
ng_2_1.jpg
ng_2_2.png
ng_2_3.gif
這至今偉大的工作,但我想看看我刪除後會發生什麼,並重新創建一個在它的地方嗎?
比方說,我們有一個叫做「老郵報」的帖子,其中有2個圖像,與7
它的圖像的帖子ID可能是這樣的:
ng_7_1.jpg
ng_7_2.jpg
比方說,我們刪除了然後創建一個新的,其中有三個圖像,被稱爲「新郵政」。
它的圖像看起來就像這樣:
ng_7_1.jpg
ng_7_2.jpg
ng_7_3.jpg
現在,來這裏的問題......如果設備已經觀看了舊的文章,這是刪除,然後查看新的崗位上,他們會看到前兩張圖像來自OLD POST。不是新的。
爲什麼? SDWebImage認爲是因爲URL是相同的,因此決定從磁盤中提取緩存的圖像。它甚至不顯示緩存版本,然後檢查圖像是否已更新。
所以,我已經制定了有這兩個可能的解決方案:
- 某種方式得到SDWebImage檢查在線圖像,顯示緩存版本
- 傳下來的關鍵在我的JSON後,告訴我的應用程序擦拭SDWebImage的緩存(必要時)
所以,我的問題是,你將如何去刪除SDWebImage的緩存,或使其顯示緩存版本後檢查服務器?
謝謝。最初我打算設計它,以便使用MySQL自動遞增的ID。問題是如何「預測」它會產生的下一個ID。 ATM我使用以下查詢'SELECT max(postid)FROM TABLE;'然後增加下一個插入,但我知道這不是MySQL如何做。 MySQL將始終生成比之前生成的高一個數字,而不是比表中的數據高一個。如果你可以告訴我如何預測下一個MySQL ID可以解決這個問題:) –
我需要計算下一個ID btw的原因是,我可以在插入數據庫之前使用它來命名我的文件 –
OK I 'm使用http://stackoverflow.com/questions/2251463/mysql-php-how-to-get-auto-increment-field-value-before-inserting-data/2251486#2251486獲得下一個ID(帶有事務),並且我使用uniqid()生成末尾 –