mysql - php消息队列怎么做?
有这样的情况:
订单创建成功,向用户发送一条短信,一个邮件通知,……等操作,
由于邮件发送比较慢,很耗时,这就导致了用户下单会变慢。
听别人说可以使用消息队列,可是队列是啥啊?
我对队列的理解:有一个定时任务,定时的去跑脚本,脚本会执行消息队列(一个表)里未完成的任务,不断地去跑……
是这样的吗?
可是我就会php,买的是虚拟主机,不懂得配置服务器,我能实现队列吗?
像DZ,不也是个上传就完事了的程序吗,不也没怎么配置服务器呢,那么DZ有这样的队列服务吗,不然它的那些插件是怎么完成像队列一样的类似的服务的呢?
我感觉学PHP好像挺简单的,但到了真正做项目时才感觉到一无所用,感觉就像还没揭开它的神秘的面纱一样,还是我太菜了,希望大神指点迷津,谢谢了!
回复内容:
有这样的情况:
订单创建成功,向用户发送一条短信,一个邮件通知,……等操作,
由于邮件发送比较慢,很耗时,这就导致了用户下单会变慢。
听别人说可以使用消息队列,可是队列是啥啊?
我对队列的理解:有一个定时任务,定时的去跑脚本,脚本会执行消息队列(一个表)里未完成的任务,不断地去跑……
是这样的吗?
可是我就会php,买的是虚拟主机,不懂得配置服务器,我能实现队列吗?
像DZ,不也是个上传就完事了的程序吗,不也没怎么配置服务器呢,那么DZ有这样的队列服务吗,不然它的那些插件是怎么完成像队列一样的类似的服务的呢?
我感觉学PHP好像挺简单的,但到了真正做项目时才感觉到一无所用,感觉就像还没揭开它的神秘的面纱一样,还是我太菜了,希望大神指点迷津,谢谢了!
新起一个服务。内部的,用来发邮件的。用户创建订单的时候,反回创建成功,正在处理,然后吧要发邮件的任务放到一个队列里。比如数据库。
队列是一个虚拟概念。
然后内部的服务从队列里取(比如从数据库查询。)然后把邮件发出去,更改订单状态,下单成功
可以用redis队列
嗯嗯 是这么干的

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



MySQL sesuai untuk pemula kerana mudah dipasang, kuat dan mudah untuk menguruskan data. 1. Pemasangan dan konfigurasi mudah, sesuai untuk pelbagai sistem operasi. 2. Menyokong operasi asas seperti membuat pangkalan data dan jadual, memasukkan, menanyakan, mengemas kini dan memadam data. 3. Menyediakan fungsi lanjutan seperti menyertai operasi dan subqueries. 4. Prestasi boleh ditingkatkan melalui pengindeksan, pengoptimuman pertanyaan dan pembahagian jadual. 5. Sokongan sokongan, pemulihan dan langkah keselamatan untuk memastikan keselamatan data dan konsistensi.

Navicat sendiri tidak menyimpan kata laluan pangkalan data, dan hanya boleh mengambil kata laluan yang disulitkan. Penyelesaian: 1. Periksa Pengurus Kata Laluan; 2. Semak fungsi "Ingat Kata Laluan" Navicat; 3. Tetapkan semula kata laluan pangkalan data; 4. Hubungi pentadbir pangkalan data.

Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

Langkah -langkah untuk melaksanakan SQL di Navicat: Sambungkan ke pangkalan data. Buat tetingkap editor SQL. Tulis pertanyaan SQL atau skrip. Klik butang Run untuk melaksanakan pertanyaan atau skrip. Lihat hasilnya (jika pertanyaan dilaksanakan).

Anda boleh membuat sambungan MySQL baru di Navicat dengan mengikuti langkah -langkah: Buka aplikasi dan pilih Sambungan Baru (Ctrl N). Pilih "MySQL" sebagai jenis sambungan. Masukkan nama host/alamat IP, port, nama pengguna, dan kata laluan. (Pilihan) Konfigurasikan pilihan lanjutan. Simpan sambungan dan masukkan nama sambungan.

Alasan Biasa Mengapa Navicat tidak dapat menyambung ke pangkalan data dan penyelesaiannya: 1. Periksa status berjalan pelayan; 2. Periksa maklumat sambungan; 3. Laraskan tetapan firewall; 4. Konfigurasi akses jauh; 5. menyelesaikan masalah rangkaian; 6. Periksa keizinan; 7. Memastikan keserasian versi; 8. menyelesaikan masalah lain.

Kesilapan dan penyelesaian yang biasa apabila menyambung ke pangkalan data: Nama pengguna atau kata laluan (ralat 1045) Sambungan blok firewall (ralat 2003) Timeout sambungan (ralat 10060)

Untuk menyambung ke pangkalan data MySQL tempatan menggunakan Navicat: Buat sambungan dan tetapkan Nama Sambungan, Hos, Port, Nama Pengguna, dan Kata Laluan. Uji sambungan untuk memastikan parameter betul. Simpan sambungan. Pilih sambungan baru dari senarai sambungan. Klik dua kali pangkalan data yang ingin anda sambungkan.
