在處理用戶領卡的推送的時候,咱們的數據庫對同一個新的用戶,會出現兩條數據,好比兩條用戶,兩條用戶領卡數據數據庫
出現這種的緣由在於如下兩點:服務器
參考微信開發文檔,利用FromUserName + CreateTime排重,將其做爲一個key,存放在memcached裏面,而後每次有推送或者消息來得時候,先去判斷一下是否存在,若是存在,表示是重複推送,直接return空串,不然表示是第一次推送,將其做爲一個key,簡要代碼以下:微信
mc = memcached_wrapper.getMemcached() FromUserName = self.decrypt_msg.find("FromUserName").text CreateTime = self.decrypt_msg.find("CreateTime").text mc_key_str = Util.unicode2str(FromUserName + CreateTime) mc_value_str = mc.get(mc_key_str) if mc_value_str: mc.disconnect_all() return "" else: mc.set(mc_key_str, 1, 60) mc.disconnect_all() # 備註 # unicode2str將unicode字符串轉化爲bytes串 # memcached_wrapper一個處理memcached的py文件,主要做用是鏈接memcached和複用鏈接等功能
好了,就先到這裏了,記錄下來以便下次查閱,若是對於你也有幫助的話,那真是最好不過的了微信開發