Add caching layer for repeated PURL metadata queries
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- redis
- Ambito
- backend, databases, performance
Direzione di ricerca
L’issue non indica file, test o punti di ingresso. Inizia tracciando le funzioni di query dei metadati, ricerca delle versioni e recupero degli URL, quindi esamina i relativi percorsi di accesso al database/API prima di scegliere un approccio per la cache e l’invalidazione. Il lavoro è completato quando le query PURL ripetute evitano chiamate ridondanti, mentre gli aggiornamenti invalidano i dati interessati, con copertura per tutte e tre le operazioni.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem : -
Currently, PurlDB processes repeated queries for the same PURL without any caching mechanism. This leads to redundant database/API calls, especially during large-scale operations such as SBOM imports or repeated metadata lookups.
Proposed Solution :-
Introduce a caching layer to store frequently accessed PURL metadata. This could include:
- In-memory caching (e.g., LRU cache)
- Optional Redis-based caching for scalability
- Cache invalidation strategy when data updates
The caching should be applied to:
- metadata queries
- version lookups
- URL retrieval functions
Benefits :-
- Improved performance for repeated queries
- Reduced database/API load
- Faster SBOM processing
- Better scalability for large datasets
Additional Context :-
Similar issues around repeated metadata access and inefficiencies have been observed in related tools interacting with PurlDB. Adding caching would improve overall system responsiveness and usability.
- Lingua principale
- HTML
- Stelle
- 70
- Fork
- 74
- Merge medio
- 2g 4h
- PR unite (30g)
- 7
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di aboutcode-org/purldb
-
purlcli failsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
aboutcode-org/purldb#891 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Incorrect set comparison between package names and PURLs in NPM sync logicForse già presa @MuhammadBilal64 l’ha presa 26 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
aboutcode-org/purldb#890 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
PypiVersionAPI.get_latest_date() crashes when a release entry is missing upload_time_iso_8601Forse già presa @drawliin l’ha presa 208 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
aboutcode-org/purldb#863 ·
I maintainer di solito rispondono entro 1 giorno
-
Add doctest and tests for clearcode coordinate helpersForse già presa @drawliin l’ha presa 216 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
aboutcode-org/purldb#861 ·
I maintainer di solito rispondono entro 1 giorno
-
Preserve version ordering in packagedb VersionResponseForse già presa @drawliin l’ha presa 217 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
aboutcode-org/purldb#857 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di aboutcode-org/purldb
Issue simili
-
general_error() logs every 4xx response at ERROR level, including expected 400, 404 and 409 outcomesApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
awslabs/visual-asset-management-system#935 ·
I maintainer di solito rispondono entro 1 giorno
-
vim.filetype.match() prefixes a URL buffer name with the cwd before passing it to filetype functionsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
Package downloads never retry: getUrlWithResuming's retry catch cannot see a rejected requestAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
kind/bug/report meta/needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
docker-mailserver/docker-mailserver#4831 ·
I maintainer di solito rispondono entro 1 giorno
-
ai-driven-fuzzing bug claude Minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
linagora/cozy-client#1769 ·
I maintainer di solito rispondono entro 1 giorno