Add caching layer for repeated PURL metadata queries
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- redis
- Lĩnh vực
- backend, databases, performance
Hướng nghiên cứu
Issue không nêu tên tệp, kiểm thử hay điểm vào. Hãy bắt đầu bằng cách lần theo các hàm truy vấn metadata, tra cứu phiên bản và truy xuất URL, sau đó xem xét các đường dẫn truy cập cơ sở dữ liệu/API của chúng trước khi chọn phương án cache và vô hiệu hóa. Hoàn thành nghĩa là các truy vấn PURL lặp lại tránh được các lần gọi dư thừa, trong khi các bản cập nhật vô hiệu hóa dữ liệu bị ảnh hưởng, với độ bao phủ cho cả ba thao tác.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- HTML
- Star
- 70
- Fork
- 74
- Merge trung bình
- 2 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 7
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của aboutcode-org/purldb
-
purlcli failsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
aboutcode-org/purldb#891 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Incorrect set comparison between package names and PURLs in NPM sync logicCó thể đã có người làm @MuhammadBilal64 đã nhận 27 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
aboutcode-org/purldb#890 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
PypiVersionAPI.get_latest_date() crashes when a release entry is missing upload_time_iso_8601Có thể đã có người làm @drawliin đã nhận 210 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
aboutcode-org/purldb#863 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add doctest and tests for clearcode coordinate helpersCó thể đã có người làm @drawliin đã nhận 218 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
aboutcode-org/purldb#861 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Preserve version ordering in packagedb VersionResponseCó thể đã có người làm @drawliin đã nhận 219 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
aboutcode-org/purldb#857 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của aboutcode-org/purldb
Issue tương tự
-
Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Fix unused variable warningsĐang mởbug triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
envoyproxy/envoy#48897 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
backend bug documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
geolens-io/geolens#3568 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Condition block says two different large integers are equal (compares numeric strings as floats)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Significant-Gravitas/AutoGPT#16480 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
API: `tsc.exe` opens a visible console window on Windows when the parent process has no consoleĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
microsoft/TypeScript#65083 ·
Maintainer thường phản hồi trong vòng 1 ngày