nama kunci phone-send-count, dicache selama 1 hari, +1 untuk setiap yang berjaya dihantar
Proses semasa menghantar adalah seperti berikut:
Tentukan sama ada telefon-sibuk wujud Jika terdapat ralat langsung "terlalu cepat".
Tentukan sama ada kiraan penghantaran telefon wujud Jika ia wujud, teruskan periksa sama ada ia sama dengan 10. Jika ia wujud dan bersamaan dengan 10, ralat "Anda tidak boleh menghantar mesej teks hari ini" akan menjadi. dilaporkan
Hantar SMS
Tulis telefon-sibuk, sah selama 1 minit
Tulis phone-send-count+1, cap masa 23:59:59 pada hari sah - cap masa semasa
Gunakan nombor telefon bimbit + minit dan nombor telefon bimbit + hari sebagai kunci untuk mengehadkan bilangan mesej teks yang dihantar masing-masing dalam satu minit dan satu hari
Maksimum satu mesej seminit, dikunci mengikut minit dan nombor telefon:min:201701041750:13888888888 Maksimum 10 mesej setiap hari, dikunci mengikut tarikh dan nombor telefon:day:20170104:13888888888
Inilah maksudnya Anda boleh menetapkan had penghantaran selama satu minit atau satu hari sebagai fail konfigurasi, yang fleksibel dan boleh diubah.
Disemak pada 5 Januari
Rakan saya @Lowky di sini mengingatkan saya tentang satu soalan, iaitu sama ada had harian adalah satu hari atau 24 jam, kerana kedua-dua konsep ini berbeza. Perkara utama di sini ialah terdapat had 10 item setiap hari, dan had dikeluarkan pada awal pagi setiap hari. Anda harus berhenti memikirkan perkara ini setiap minit. Kod tersebut diubah suai seperti berikut:
Soalan pertama boleh dicapai dengan menetapkan masa tamat tempoh Selagi nombor telefon bimbit ada dalam Redis, bermakna belum sampai 1 minit Soalan kedua ialah menukar kaunter setiap kali dihantar dan tetapkan masa tamat kaunter Tetapkan kepada satu hari
Memerlukan dua cache
nama kunci telefon sibuk, dicache selama 1 minit
nama kunci phone-send-count, dicache selama 1 hari, +1 untuk setiap yang berjaya dihantar
Proses semasa menghantar adalah seperti berikut:
Tentukan sama ada telefon-sibuk wujud Jika terdapat ralat langsung "terlalu cepat".
Tentukan sama ada kiraan penghantaran telefon wujud Jika ia wujud, teruskan periksa sama ada ia sama dengan 10. Jika ia wujud dan bersamaan dengan 10, ralat "Anda tidak boleh menghantar mesej teks hari ini" akan menjadi. dilaporkan
Hantar SMS
Tulis telefon-sibuk, sah selama 1 minit
Tulis phone-send-count+1, cap masa 23:59:59 pada hari sah - cap masa semasa
Gunakan nombor telefon bimbit + minit dan nombor telefon bimbit + hari sebagai kunci untuk mengehadkan bilangan mesej teks yang dihantar masing-masing dalam satu minit dan satu hari
Maksimum satu mesej seminit, dikunci mengikut minit dan nombor telefon:
min:201701041750:13888888888
Maksimum 10 mesej setiap hari, dikunci mengikut tarikh dan nombor telefon:
day:20170104:13888888888
Tulis sekeping kod pseudo seperti berikut:
Inilah maksudnya Anda boleh menetapkan had penghantaran selama satu minit atau satu hari sebagai fail konfigurasi, yang fleksibel dan boleh diubah.
Disemak pada 5 Januari
Rakan saya @Lowky di sini mengingatkan saya tentang satu soalan, iaitu sama ada had harian adalah satu hari atau 24 jam, kerana kedua-dua konsep ini berbeza. Perkara utama di sini ialah terdapat had 10 item setiap hari, dan had dikeluarkan pada awal pagi setiap hari. Anda harus berhenti memikirkan perkara ini setiap minit. Kod tersebut diubah suai seperti berikut:
Soalan pertama boleh dicapai dengan menetapkan masa tamat tempoh Selagi nombor telefon bimbit ada dalam Redis, bermakna belum sampai 1 minit
Soalan kedua ialah menukar kaunter setiap kali dihantar dan tetapkan masa tamat kaunter Tetapkan kepada satu hari
Arahan mudah:
Anda memerlukan dua kunci
Kunci yang tamat tempoh dalam masa 1 minit
Kunci yang tamat tempoh dalam masa 24 jam
Menurut perniagaan SMS, penyelesaian adalah berdasarkan tempoh sah dan bukan pada pukul 0.