Rumah pangkalan data Redis Cara menggunakan skrip Redis dan Shell untuk membangunkan fungsi tugas berjadual

Cara menggunakan skrip Redis dan Shell untuk membangunkan fungsi tugas berjadual

Sep 21, 2023 pm 03:22 PM
redis tugas yang dijadualkan shell

Cara menggunakan skrip Redis dan Shell untuk membangunkan fungsi tugas berjadual

Cara menggunakan skrip Redis dan Shell untuk membangunkan fungsi tugas berjadual

Pengenalan:
Semasa proses pembangunan, kita sering menghadapi situasi di mana kita perlu melakukan tugas tertentu dengan kerap, seperti kerap membersihkan log, kerap membuat sandaran data, dll. Artikel ini akan memperkenalkan cara menggunakan skrip Redis dan Shell untuk melaksanakan fungsi tugas berjadual dan menyediakan contoh kod khusus.

1. Redis
Redis ialah sistem storan nilai kunci yang cekap yang menyokong pelbagai struktur data, seperti rentetan, senarai, jadual cincang, dsb. Apabila melaksanakan fungsi tugas berjadual, kita boleh menggunakan struktur data "pengumpulan tersusun" Redis dan mekanisme "masa tamat tempoh" untuk mencapainya.

  1. Buat tugas berjadual
    Pertama, kita perlu menambah tugasan yang perlu dilaksanakan pada koleksi Redis yang dipesan. Kod khusus adalah seperti berikut:
redis-cli zadd tasks <timestamp> <task>
Salin selepas log masuk

Antaranya, <timestamp> mewakili masa pelaksanaan tugasan, yang boleh diwakili oleh Unix timestamp <task> mewakili pengecam unik tugas , yang boleh menjadi nama tugas atau pengecam lain. <timestamp>代表任务的执行时间,可以使用Unix时间戳表示;<task>代表任务的唯一标识,可以是任务的名称或其他标识符。

示例代码:

redis-cli zadd tasks 1627293600 task1
redis-cli zadd tasks 1627297200 task2
redis-cli zadd tasks 1627300800 task3
Salin selepas log masuk
  1. 监听定时任务
    接下来,我们需要编写一个脚本来监听Redis中的定时任务,并在任务执行时间到达时执行相应的操作。代码如下:
#!/bin/bash

while true;
do
    current_time=$(date +%s)
    min_time=$(redis-cli zrange tasks 0 0 withscores | cut -d" " -f2)
    
    if [ "$min_time" != "" ] && [ "$min_time" -lt "$current_time" ];
    then
        min_task=$(redis-cli zrange tasks 0 0 withscores | cut -d" " -f1)
        echo "Executing task: $min_task"
        
        # 执行任务的操作
        # ...
        
        redis-cli zrem tasks $min_task
    fi
    
    sleep 1
done
Salin selepas log masuk

在以上代码中,我们通过循环不断检查Redis中最早的任务是否到达执行时间。如果是,则执行任务,并从有序集合中删除该任务。

二、Shell脚本
在实际应用中,我们可能会遇到一些需要在指定时间执行的任务,比如在每天的凌晨执行备份操作。这时,我们可以结合Shell脚本和crontab来实现定时任务的功能。

  1. 创建Shell脚本
    首先,我们创建一个执行具体任务的Shell脚本。例如,我们要实现每天凌晨3点执行备份操作,可以创建一个名为backup.sh的脚本文件。具体代码如下:
#!/bin/bash

# 备份操作
# ...

echo "Backup completed at $(date)"
Salin selepas log masuk
  1. 编辑crontab配置
    接下来,我们需要编辑crontab配置文件,添加对应的定时任务。具体步骤如下:
  • 在终端中输入crontab -e命令,打开crontab配置文件;
  • 添加以下一行代码,并保存退出:
0 3 * * * /path/to/backup.sh
Salin selepas log masuk

其中,0 3 * * *代表定时任务的执行时间,表示每天凌晨3点执行;/path/to/backup.sh

Kod contoh:
    crontab -l
    Salin selepas log masuk
    1. Mendengar tugasan yang dijadualkan
      Seterusnya, kita perlu menulis skrip untuk memantau tugasan yang dijadualkan dalam Redis dan melaksanakan operasi yang sepadan apabila masa pelaksanaan tugas tiba. Kodnya adalah seperti berikut:
    crontab -e
    Salin selepas log masuk

    Dalam kod di atas, kami sentiasa menyemak sama ada tugas terawal dalam Redis mencapai masa pelaksanaan melalui gelung. Jika ya, laksanakan tugasan dan keluarkannya daripada set yang diisih.

    2. Skrip Shell

    Dalam aplikasi praktikal, kami mungkin menghadapi beberapa tugas yang perlu dilakukan pada masa yang ditetapkan, seperti melakukan operasi sandaran pada awal pagi setiap hari. Pada masa ini, kita boleh menggabungkan skrip shell dan crontab untuk melaksanakan fungsi tugas yang dijadualkan.


    Mencipta Skrip Shell🎜Pertama, kami mencipta skrip Shell yang melaksanakan tugas tertentu. Contohnya, jika kita ingin melakukan operasi sandaran pada pukul 3 pagi setiap hari, kita boleh mencipta fail skrip bernama backup.sh. Kod khusus adalah seperti berikut: 🎜🎜rrreee
      🎜Edit konfigurasi crontab🎜Seterusnya, kita perlu mengedit fail konfigurasi crontab dan menambah tugasan berjadual yang sepadan. Langkah-langkah khusus adalah seperti berikut: 🎜🎜
      🎜Masukkan perintah crontab -e dalam terminal untuk membuka fail konfigurasi crontab 🎜🎜Tambah baris kod berikut, simpan dan keluar: 🎜
    rrreee🎜di mana , 0 3 * * * mewakili masa pelaksanaan tugas yang dijadualkan, yang bermaksud ia akan dilaksanakan pada pukul 3 pagi setiap hari; .sh mewakili laluan pelaksanaan khusus skrip Shell. 🎜🎜🎜Berkesan dan lihat tugas berjadual🎜Selepas melengkapkan langkah di atas, tugas yang dijadualkan akan berkuat kuasa secara automatik. Kami boleh melihat konfigurasi tugas berjadual semasa melalui arahan berikut: 🎜🎜rrreee🎜 Jika anda perlu membatalkan tugas yang dijadualkan, anda boleh menggunakan arahan berikut: 🎜rrreee🎜 Kemudian padam konfigurasi tugas berjadual yang sepadan, simpan dan keluar. 🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan cara menggunakan skrip Redis dan Shell untuk membangunkan fungsi tugas berjadual. Melalui ciri pengumpulan yang dipesan dan masa tamat tempoh Redis, kami boleh mengurus dan memantau tugas yang dijadualkan dengan mudah. Pada masa yang sama, dengan menggabungkan skrip shell dan crontab, kami juga boleh melaksanakan fungsi tugas berjadual yang lebih kompleks. Saya harap artikel ini dapat membantu anda semasa membangunkan tugasan yang dijadualkan. 🎜

    Atas ialah kandungan terperinci Cara menggunakan skrip Redis dan Shell untuk membangunkan fungsi tugas berjadual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penyelesaian kepada ralat 0x80242008 semasa memasang Windows 11 10.0.22000.100 Penyelesaian kepada ralat 0x80242008 semasa memasang Windows 11 10.0.22000.100 May 08, 2024 pm 03:50 PM

1. Mulakan menu [Start], masukkan [cmd], klik kanan [Command Prompt], dan pilih Run as [Administrator]. 2. Masukkan arahan berikut mengikut turutan (salin dan tampal dengan teliti): SCconfigwuauservstart=auto, tekan Enter SCconfigbitsstart=auto, tekan Enter SCconfigcryptsvcstart=auto, tekan Enter SCconfigtrustedinstallerstart=auto, tekan Enter SCconfigwuauservtype=share, tekan Enter netstopwuauserv , tekan enter netstopcryptS

Strategi dan pengoptimuman caching API Golang Strategi dan pengoptimuman caching API Golang May 07, 2024 pm 02:12 PM

Strategi caching dalam GolangAPI boleh meningkatkan prestasi dan mengurangkan beban pelayan Strategi yang biasa digunakan ialah: LRU, LFU, FIFO dan TTL. Teknik pengoptimuman termasuk memilih storan cache yang sesuai, caching hierarki, pengurusan ketidaksahihan dan pemantauan dan penalaan. Dalam kes praktikal, cache LRU digunakan untuk mengoptimumkan API untuk mendapatkan maklumat pengguna daripada pangkalan data Data boleh diambil dengan cepat daripada cache Jika tidak, cache boleh dikemas kini selepas mendapatkannya daripada pangkalan data.

Mekanisme caching dan amalan aplikasi dalam pembangunan PHP Mekanisme caching dan amalan aplikasi dalam pembangunan PHP May 09, 2024 pm 01:30 PM

Dalam pembangunan PHP, mekanisme caching meningkatkan prestasi dengan menyimpan sementara data yang kerap diakses dalam memori atau cakera, dengan itu mengurangkan bilangan akses pangkalan data. Jenis cache terutamanya termasuk memori, fail dan cache pangkalan data. Caching boleh dilaksanakan dalam PHP menggunakan fungsi terbina dalam atau perpustakaan pihak ketiga, seperti cache_get() dan Memcache. Aplikasi praktikal biasa termasuk caching hasil pertanyaan pangkalan data untuk mengoptimumkan prestasi pertanyaan dan caching halaman output untuk mempercepatkan pemaparan. Mekanisme caching berkesan meningkatkan kelajuan tindak balas laman web, meningkatkan pengalaman pengguna dan mengurangkan beban pelayan.

Bagaimana untuk menggunakan cache Redis dalam penomboran tatasusunan PHP? Bagaimana untuk menggunakan cache Redis dalam penomboran tatasusunan PHP? May 01, 2024 am 10:48 AM

Menggunakan cache Redis boleh mengoptimumkan prestasi halaman tatasusunan PHP. Ini boleh dicapai melalui langkah berikut: Pasang klien Redis. Sambung ke pelayan Redis. Cipta data cache dan simpan setiap halaman data ke dalam cincangan Redis dengan kunci "halaman:{page_number}". Dapatkan data daripada cache dan elakkan operasi mahal pada tatasusunan besar.

Bagaimana untuk menaik taraf Win11 English 21996 kepada Simplified Chinese 22000_Cara untuk menaik taraf Win11 English 21996 kepada Simplified Chinese 22000 Bagaimana untuk menaik taraf Win11 English 21996 kepada Simplified Chinese 22000_Cara untuk menaik taraf Win11 English 21996 kepada Simplified Chinese 22000 May 08, 2024 pm 05:10 PM

Mula-mula anda perlu menetapkan bahasa sistem kepada paparan Bahasa Cina Mudah dan mulakan semula. Sudah tentu, jika anda telah menukar bahasa paparan kepada Bahasa Cina Ringkas sebelum ini, anda boleh melangkau langkah ini sahaja. Seterusnya, mula mengendalikan pendaftaran, regedit.exe, navigasi terus ke HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsLanguage dalam bar navigasi kiri atau bar alamat atas, dan kemudian ubah suai nilai kunci InstallLanguage dan nilai kunci Lalai kepada 0804 (jika anda ingin menukarnya ke Bahasa Inggeris en- kami, anda perlu Mula-mula tetapkan bahasa paparan sistem kepada en-us, mulakan semula sistem dan kemudian tukar semuanya kepada 0409) Anda mesti memulakan semula sistem pada ketika ini.

Perbezaan antara fungsi PHP dan fungsi Shell Perbezaan antara fungsi PHP dan fungsi Shell Apr 24, 2024 pm 06:39 PM

Perbezaan utama antara fungsi PHP dan fungsi Shell ialah keselamatan (fungsi PHP lebih selamat), kebolehpercayaan (Fungsi Shell berbeza mengikut sistem pengendalian), kefungsian (Fungsi Shell lebih berkuasa tetapi terhad oleh shell), dan prestasi (fungsi PHP biasanya lebih cepat) dan kerumitan (Fungsi Shell lebih kompleks). Kedua-duanya digunakan untuk sistem fail, proses dan operasi perintah, tetapi fungsi PHP terbina dalam, manakala fungsi Shell dipanggil melalui shell luaran. Oleh itu, dalam senario muat turun fail pelayan, fungsi file_put_contents() adalah lebih selamat, manakala arahan wget lebih fleksibel.

Bagaimana untuk mencari fail kemas kini yang dimuat turun oleh Win11_Share lokasi fail kemas kini yang dimuat turun oleh Win11 Bagaimana untuk mencari fail kemas kini yang dimuat turun oleh Win11_Share lokasi fail kemas kini yang dimuat turun oleh Win11 May 08, 2024 am 10:34 AM

1. Mula-mula, klik dua kali ikon [PC ini] pada desktop untuk membukanya. 2. Kemudian klik dua kali butang tetikus kiri untuk memasuki [pemacu C]. 3. Kemudian cari folder [windows] dalam pemacu C dan klik dua kali untuk masuk. 4. Selepas memasukkan folder [windows], cari folder [SoftwareDistribution]. 5. Selepas masuk, cari folder [muat turun], yang mengandungi semua fail muat turun dan kemas kini win11. 6. Jika kita ingin memadam fail-fail ini, hanya padamkannya terus dalam folder ini.

Aplikasi caching PHP Redis dan amalan terbaik Aplikasi caching PHP Redis dan amalan terbaik May 04, 2024 am 08:33 AM

Redis ialah cache nilai kunci berprestasi tinggi. Sambungan PHPRedis menyediakan API untuk berinteraksi dengan pelayan Redis. Gunakan langkah berikut untuk menyambung ke Redis, menyimpan dan mendapatkan semula data: Sambung: Gunakan kelas Redis untuk menyambung ke pelayan. Penyimpanan: Gunakan kaedah yang ditetapkan untuk menetapkan pasangan nilai kunci. Retrieval: Gunakan kaedah get untuk mendapatkan nilai kunci.

See all articles