← Bumalik sa gabay ng paggamit
Real-time na paggising

Pabilisin ang pagtugon sa data gamit ang Redis (opsyonal)

Ang external na data na ginagamit ng estratehiya ay pumapasok bilang default sa pamamagitan ng **pana-panahong query**. Kapag ikinabit ang Redis, gigising ang agent sa sandaling pumasok ang bagong value at agad itong babasahin muli. Laging galing sa DB query ang mismong value — ang signal lang na "may bagong value" ang dumadaan sa Redis.

Una: hindi mo ito kailangang gawin — Kahit walang Redis, tama ang data. Ang delay lang ang nagbabago. Para sa mga indicator na araw-araw o oras-oras, sapat na ang pana-panahong query; kailangan mo lang ang dokumentong ito kung dapat tumugon ang estratehiya sa loob ng ilang segundo. Kahit may makaligtaang signal, hahabol ang susunod na pana-panahong query.

1. Alin ang setup mo

Dapat makita ng panig na nagpa-publish (collector) at ng panig na nagsu-subscribe (agent) ang parehong Redis. Basta matugunan iyon, gagana ang kahit anong paraan.

A

Lahat ay nasa isang makina — sariling install (pinakasimple, libre)

Kung nasa iisang server ang collector at agent, i-install lang ang Redis sa server na iyon at tapos na. Hindi ito dumadaan sa network kaya pinakamabilis, at hindi lalabas ng makina ang address. Sa default na setting, sa 127.0.0.1 lang ito nakikinig, kaya hindi ito bukas sa labas kahit walang password.

sudo apt install -y redis-server
sudo systemctl enable --now redis-server
redis-cli ping        # PONG
Address na ilalagay sa slot:redis://127.0.0.1:6379
B

Marami akong server — ilagay sa isa, gamit ang private network

Kung magkaibang server ang collector at ang agent, maglagay ng Redis sa isa lang at kumonekta roon ang iba. Kung parehong cloud at parehong region, pinakaligtas ang kumonekta gamit ang private IP. ★ Kapag binuksan ang bind sa 0.0.0.0 nang walang password, mabilis itong mahahanap ng mga internet scanner. Kung kailangan talagang dumaan sa public network, gamitin ang tatlo: mahabang password + firewall + TLS (rediss://).

# /etc/redis/redis.conf
bind 10.0.0.5 127.0.0.1      # ★ 0.0.0.0 금지
requirepass <긴-무작위-비밀번호>
# 방화벽: 내 서버 IP 만 6379 허용
Address na ilalagay sa slot:redis://:비밀번호@10.0.0.5:6379
C

Magkahiwalay ang network — managed na free tier

Kung nasa mga lugar na hindi nagkakaabot ang collector at agent, gaya ng magkaibang cloud, bahay o opisina, maglagay ng managed na Redis sa gitna. Halos walang storage na ginagamit ang paggising kaya karaniwang sapat ang libreng limit.

Address na ilalagay sa slot:rediss://…
Sinuri noong Setyembre 2026 — maaaring baguhin ng provider ang limit, kaya tingnan muli sa link.
Upstash256MB · 월 50만 명령Maaaring magsimula nang walang card. Kahit mag-publish isang beses kada minuto, mga 40–50k command lang kada buwan kaya maluwag ito. Pero hindi inilathala ang limit ng sabay-sabay na koneksyon, at gumagana lang ang SUBSCRIBE sa TCP (redis://) na address, hindi sa REST.
Aiven1GB · 단일 노드Batay ito sa Valkey (fork na compatible sa Redis). Core na feature ang pub/sub kaya walang epekto sa paggising.
Redis Cloud30MBMukhang maliit ang kapasidad, pero hindi gumagamit ng storage ang paggising kaya sapat na kahit 30MB.
D

Iba ang nagpa-publish — direktang pagpapadala mula sa team o institusyon

Hindi mo kailangang gamitin ang aming collector. Kahit anong programa ay makakapag-publish basta tugma ang pangalan ng channel at ang patakaran ng payload. Ang channel ay sori:data:v1: na sinusundan ng pangalan ng table (walang schema). Cursor hint lang ang payload kaya hindi ito gagamitin kahit maglagay ka ng value — muling pinapatakbo ng nagising na panig ang sarili nitong query.

PUBLISH sori:data:v1:fear_greed '{"v":1,"last":1757462400000,"n":1}'

2. Pagkakasunod ng pag-on — dapat tugma ang tatlong lugar

Kapag may kulang kahit isa, tatakbo ito sa pana-panahong query **nang walang error**. Tama pa rin ang mga value at humahaba lang ang delay, kaya madaling hindi mapansin na hindi ito naka-on.

1

Panig ng pag-publish — ibigay ang address sa collector

Nagpa-publish ang collector pagkatapos maglagay ng bagong row. Kung walang address, nilalaktawan nito ang pag-publish at itinatala iyon sa resulta ng run.

# ~/soritrading-fetchers/.env
SORI_WAKE_REDIS_URL=redis://127.0.0.1:6379
2

Panig ng subscribe — i-save ang slot sa agent

Ilagay sa web ang alias at address, pagkatapos ay pindutin ang [Suriin ang koneksyon] at agad sasagot ang device na iyon kung talagang nakakonekta ito. Sa keystore lang ng device na iyon sine-save ang address — hindi ito napupunta sa server at hindi rin nalalagay sa log.

3

Deklarasyon — tukuyin kung aling table ang pakikinggan sa aling slot

Sa ibabang bahagi ng parehong screen, sa [Deklarasyon ng dataset], palitan ang paraan sa redis at punan ang pangalan ng slot at pangalan ng table. Kailangan ang pangalan ng table dahil dito nagmumula ang pangalan ng channel.

mode: redis   ·   redisAlias: main   ·   tableName: fear_greed
Tiyaking naka-on — Kung 'real-time · Redis(alias)' ang badge sa tabi ng deklarasyon, naka-on ito. Kung 'pana-panahong query' ang nakikita, nakasulat doon mismo kung ano ang kulang.
Dapat malaman
  • Panggising lang ang Redis. Kahit may makaligtaang mensahe (hal. habang nagre-restart ang agent), hahabol ang susunod na pana-panahong query kaya hindi masisira ang mga value.
  • Hindi gumagana ang subscribe sa REST endpoint ng serverless na provider. Gamitin ang TCP address na nagsisimula sa redis:// o rediss://.
  • Kung pinuputol ng free tier ang idle na koneksyon, maaaring tahimik na pana-panahong query na lang ang tumatakbo. Natutukoy ng agent ang pagkaputol at kumokonekta muli, pero kung madalas itong maputol, hindi angkop ang tier na iyon para dito.
  • Magkaibang namespace ang pangalan ng slot at ang alias ng DB. Kahit pareho silang 'main', magkaibang server ang tinutukoy nila.
  • Sa device lang ng agent sine-save ang connection address. Wala ang aming server sa daang ito at hindi nito natatanggap ang address, sa pag-save man o sa pagbasa.
  • Kahit burahin ang slot, mapuputol lang ang bukas nang subscription sa susunod na reconnect. Habang hindi pa, pareho pa rin ang mga value, mas maikli lang ang delay.