1. 程式人生 > >微信傳送客服訊息,傳送模板訊息,記錄結果,以及退款,退環金幣,退還錢包有感

微信傳送客服訊息,傳送模板訊息,記錄結果,以及退款,退環金幣,退還錢包有感

1、針對傳送客服訊息,模板訊息,簡訊訊息或者圖片海報的時候,首先檢測下發送使用者物件的人數,如果超過300以上,建議增加子程序,這樣可以有效減少傳送時間,提高發送效率,10W+個使用者物件,如果使用一個方法傳送,不會發送2個小時就能解決問題,這時可以考慮增加子程序的方法,然後呢,還需要考慮到如果突發狀況,導致指令碼停止了,但傳送過的使用者又不能重新再發送一次,這時就可以使用到 redis 的集合 sadd 方法,同時設定好過期時間 expire,當然還需要考慮什麼樣的資料新增到集合中,推薦使用使用者唯一標識的資料,譬如 openid,unionid。

2、客戶資訊是怎麼來的,查詢查詢資料庫,但是我們要每發一次就查詢一次嗎?這無疑增加資料庫壓力,倒不如直接一次性查出來或者分塊查出,將資料放到 redis 佇列裡面,lpush 方法,然後每發一次,就出佇列,rpop 方法。

3、如果需要記錄傳送結果,同樣的可以將結果資訊以 json 字串的格式放到 redis 佇列裡,等到資料庫空閒的時候在執行資料寫入。

4、參考上面所說,退款,退金幣,退錢包等業務需求,同樣記錄是否退還過相應的訂單,如過退還過就無需退還。