簡體   English   中英

緩存信息的最佳方法是什么?

[英]What is the best approach when caching info?

我的應用程序發送電子郵件。 我現在:

  1. 從數據庫(對象)獲取客戶列表
  2. 從數據庫(同上)獲取其電子郵件類型的列表
  3. 再次從數據庫獲取電子郵件收件人的列表/電子郵件的唯一數據
  4. 使用上面的數據生成郵件消息
  5. 遍歷郵件消息並在記錄smtp狀態時將其發送出去

現在,當您發送500封電子郵件時,此行為很好,但是如果發送10,000封以上電子郵件,會產生什么影響? 我認為在到達第5步之前,我存儲的對象數量相當可觀。 我如何測量它才能知道自己正在接近容量? 我認為我至少可以在整個場景中花些時間來理解,當它成為拖累系統時需要花費多長時間。

在每個客戶的基礎上運行此方案會更好嗎? 看來效率可能會降低,擊中數據庫的次數可能是數百次,而不是3次左右。 我知道日志記錄將是一次性返回數據庫。

我正在尋找一種方法,而不是代碼解析。 上次沒有指定時,我遇到了麻煩。

我猜這取決於幾件事,例如系統的容量/功能(數據庫容量,處理/內存等等),以及快速發送這些郵件的重要性等。

一個想法可能是使用一個臨時數據庫表來存儲步驟1-4中的信息。 您可以批量執行此操作(如Blogobeard所述),也可以一次執行所有操作,具體取決於效率。 然后,也可以將實際的郵寄工作分為幾批,並且在發送郵件時,將從臨時表中刪除該客戶的信息。

可能有幾種方法可以對此進行微調,一旦您嘗試了一些東西並采取了一些具體的措施,可能會更容易給出更好的建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM