Add caching layer for repeated PURL metadata queries

Đang mở
#855 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của aboutcode-org/purldb

Tất cả issue của aboutcode-org/purldb

Issue tương tự

Thêm issue về Backend & API Design

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.