客户订阅RSS,定时更新的方法
求一个客户订阅RSS,定时更新的方法
正在制作一个网站,可以提供客户通过关键字搜索订阅本地的RSS,但是为了保护数据库的调用量,准备限制客户的调用次数。
大致思路是:用户第一次订阅是,调用数据库,生成静态XML文件。根据XML生成时间为基准,每24小时自动更新一次。
思路一:用户每次请求XML时,根据 time()-filectime 判断,如果大于 24*60*60 时,再次运行PHP文件,调用数据库,更新XML文件。问题是,既然已经生成了静态的XML文件,如何让XML通知PHP文件,告诉它:“我已经过期了,请再次更新我吧”?
思路二:把用户订阅写进SHELL里,让CRON定时后台运行。问题是:当用户订阅数成倍增长后,SHELL脚本体积不断增大,会变的繁重。另外,如果SHELL脚本在同一时间有读出和写入,SHELL脚本会不会崩溃?或者导致CRON程序被跳过?
思路三:还没想好,或许大家有更好的方法对我建议。谢谢。
BTW: 个人倾向:根据 time()-filectime 判断,这样可以排除恶意用户在第一次订阅后人间蒸发(RSS订阅被摒弃),而我的CRON程序还在为他每24小时自动的空生成一次……
------解决方案--------------------
php 可以读取xml的生成时间进行判断。不过如果有大量xml文件的时候得考虑IO瓶颈的问题。 所以如果不行的话就将生成的时间入库。用数据库来配合工作,可能会好点
xml很多吗?不多的话可以用memcache 来配合一下
------解决方案--------------------
1楼就这个意思
就是个文件缓存
abcd可以md5一下,可以防止一些特殊字符造成的麻烦,
暴力破解不是问题,因为你可以把xml放在web root外的目录, 也可以用.htaccess来控制直接访问
xml文件太多了也会有问题,根据需要到时候可以定期删除长期不更新的文件,或者分目录层次.
另: 如果是纯xml文件, file_get_contents比include快
------解决方案--------------------
xml的修改时间可以使用head方法取得last modify时间,搜索引擎蜘蛛都是这样做的。

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

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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











PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

Apa yang masih popular adalah kemudahan penggunaan, fleksibiliti dan ekosistem yang kuat. 1) Kemudahan penggunaan dan sintaks mudah menjadikannya pilihan pertama untuk pemula. 2) Bersepadu dengan pembangunan web, interaksi yang sangat baik dengan permintaan HTTP dan pangkalan data. 3) Ekosistem yang besar menyediakan banyak alat dan perpustakaan. 4) Komuniti aktif dan Sumber Sumber Terbuka menyesuaikan mereka dengan keperluan baru dan trend teknologi.

C Berinteraksi dengan XML melalui perpustakaan pihak ketiga (seperti TinyXML, PugixML, Xerces-C). 1) Gunakan perpustakaan untuk menghuraikan fail XML dan menukarnya ke dalam struktur data C-diproses. 2) Apabila menjana XML, tukar struktur data C ke format XML. 3) Dalam aplikasi praktikal, XML sering digunakan untuk fail konfigurasi dan pertukaran data untuk meningkatkan kecekapan pembangunan.

IIS dan PHP serasi dan dilaksanakan melalui FastCGI. 1.IIS meneruskan permintaan fail .php ke modul FastCGI melalui fail konfigurasi. 2. Modul FastCGI memulakan proses PHP untuk memproses permintaan untuk meningkatkan prestasi dan kestabilan. 3. Dalam aplikasi sebenar, anda perlu memberi perhatian kepada butiran konfigurasi, debugging ralat dan pengoptimuman prestasi.

XML mempunyai kelebihan data berstruktur, skalabilitas, keserasian silang platform dan pengesahan parsing dalam RSS. 1) data berstruktur memastikan konsistensi dan kebolehpercayaan kandungan; 2) Skalabiliti membolehkan penambahan tag tersuai untuk memenuhi keperluan kandungan; 3) keserasian silang platform menjadikannya berfungsi dengan lancar pada peranti yang berbeza; 4) Alat analisis dan pengesahan memastikan kualiti dan integriti makanan.
