AlfaLinks
AlfaLinksĐăng ký

Công thức

Kiểm tra backlink trang thông qua API và lưu trữ một cách hợp lý

Chỉ mục của chúng tôi được cập nhật một lần mỗi tháng, vì vậy hầu hết các truy vấn đều có thể được phục vụ từ bộ nhớ. Một công thức cho bộ nhớ cache giúp tiết kiệm tín dụng mà không hiển thị những thông tin sai lệch cho người dùng.

Cầu đá với ba lọ cát màu đại diện cho độ tươi mới của dữ liệu backlink được lưu trữ

Quy tắc

Lưu trữ cho đến khi làm mới chỉ mục, không phải theo một khoảng thời gian cố định

Vì dữ liệu thay đổi khoảng một tháng một lần, TTL theo giờ không mang lại lợi ích gì ngoài chi phí. Khóa theo tháng cung cấp cùng một kết quả trong suốt tháng và được làm mới cùng một lúc.

  • Khóa: hành động + tên miền + tham số + tháng chỉ mục
  • TTL: cho đến khi hết tháng, cộng thêm một ngày ân hạn
  • Không bao giờ lưu trữ phản hồi lỗi

Tại sao TTL ngắn chỉ là một khoản quyên góp cho số dư tín dụng của bạn

Các nhóm mới làm quen với dữ liệu liên kết thường sao chép thói quen từ các công cụ theo dõi thứ hạng. Thói quen thứ nhất: bộ nhớ cache theo giờ, vì thứ hạng thay đổi. Đồ thị liên kết hầu như không thay đổi.

Một lệnh gọi backlinks với 2 tín dụng tốn $0.0002. Con số này có vẻ không đáng kể cho đến khi một danh sách kích hoạt 50 lệnh gọi như vậy trên mỗi lần tải trang cho 400 workspace hoạt động, lặp lại mỗi giờ cho cùng một kết quả.

Các con số tính toán dưới đây chỉ là ví dụ, không phải là số liệu đo lường lưu lượng truy cập của bất kỳ ai. Giả sử 400 workspace, mỗi workspace xem 20 tên miền mỗi ngày, 2 tín dụng mỗi lần xem, và bộ nhớ cache 1 giờ chỉ khớp khoảng một phần năm. Hầu hết các lần xem vẫn truy cập API. Với khóa theo tháng, lưu lượng truy cập tương tự chỉ truy cập API một lần mỗi tên miền và mỗi tháng, vì vậy sự chênh lệch chính là điểm mấu chốt của công thức.

Các công cụ nghiên cứu từ khóa cần dữ liệu mới hơn, và đối với những công cụ đó, các bộ công cụ lớn vẫn là lựa chọn tốt hơn. Đối với ngữ cảnh liên kết, dữ liệu hàng tháng là sản phẩm phù hợp.

TTL theo hành động

Đề xuất, không bắt buộc. Tất cả các hành động đều đọc cùng một chỉ mục hàng tháng.
Hành độngTín dụngTTL đề xuấtLý do
tổng quan, thống kê0Cho đến hết thángMiễn phí, nhưng máy chủ của bạn vẫn tiết kiệm được độ trễ
bulk_dr1Cho đến hết thángToàn bộ bảng khách hàng trong một lệnh gọi
refdomains, backlinks2Cho đến hết tháng, theo tham số trangBao gồm page, per, sort trong khóa
anchors, toppages2Cho đến hết thángỔn định giữa các lần làm mới
search, keyword37 ngàyHiếm khi lặp lại, rẻ hơn nếu bỏ qua việc lưu trữ

Ví dụ yêu cầu: làm nóng bộ nhớ cache cho bảng khách hàng

Gọi bulk_dr một lần cho mỗi khách hàng, không phải một lần cho mỗi hàng. Tối đa 2.000 tên miền vừa trong một thân POST và tốn một tín dụng.

bash
curl -X POST "https://alfalinks.net/api.php?action=bulk_dr&key=sk_live_..." \
  -d "domains=stripe.com,notion.so,linear.app,figma.com,vercel.com"

# billed once, whatever the row count

Xây dựng bộ nhớ cache trong năm bước

Mỗi bước có một nhiệm vụ. Bỏ qua một bước và lỗi sẽ xuất hiện sau này, thường là dưới dạng hóa đơn.

01

Chọn khóa

Sử dụng hành động, tên miền, các tham số phân trang và sắp xếp, và tháng chỉ mục. Loại bỏ bất kỳ thứ gì người dùng có thể thay đổi mà không làm thay đổi kết quả, chẳng hạn như màu hiển thị hoặc tên tab.

02

Lưu trữ phản hồi đã phân tích

Giữ lại JSON đã giải mã với cờ ok và dữ liệu của nó, không phải các byte thô. Sau đó, một chế độ xem có thể xây dựng lại toàn bộ bảng từ bộ nhớ mà không cần gọi thêm lần nào.

03

Hết hạn vào cuối tháng

Đặt thời gian hết hạn vào cuối tháng chỉ mục, cộng thêm ngày ân hạn từ quy tắc trên. Sử dụng cùng một quy tắc cho mọi hành động, để logic nằm trong một hàm duy nhất chứ không phải năm nơi khác nhau.

04

Ghi lại số dư trên mọi lệnh gọi

Đọc đối tượng _credits trên mỗi phản hồi đã xác thực và ghi số dư còn lại vào nhật ký của riêng bạn. Sự sụt giảm chậm trong dòng đó thường là dấu hiệu đầu tiên cho thấy khóa bộ nhớ cache không chính xác.

05

Theo dõi tỷ lệ khớp

Theo dõi tần suất một chế độ xem được phục vụ từ bộ nhớ cache. Tỷ lệ thấp có nghĩa là khóa quá cụ thể, hoặc người dùng mở một tên miền mới mỗi lần truy cập. Cả hai phát hiện này đều hữu ích khi bạn lập kế hoạch ngân sách.

Táo trên đế bần cho thấy ngữ cảnh ngày thu hoạch cho độ tươi mới

Dữ liệu cũ là một lựa chọn sản phẩm hay một lỗi?

Một con số liên kết có thể đã cũ một tháng nhưng vẫn chính xác đối với chỉ mục mà nó đến từ đó. Câu hỏi thực sự là liệu màn hình của bạn có nói điều đó hay không. Hầu hết các phiếu hỗ trợ về các số liệu cũ là do vấn đề nhãn. Nhãn thường sẽ khắc phục chúng.

Gán tháng chỉ mục cho mỗi số liệu. Hiển thị nó cho người dùng. Một khi họ có thể thấy ngày tháng, con số sẽ không còn trông giống như một nguồn cấp dữ liệu bị lỗi, và dòng nhỏ đó làm được nhiều hơn cả TTL ngắn.

Một con số liên kết cũ đến mức nào thì quá cũ?

Chỉ mục của chúng tôi được làm mới khoảng một lần mỗi tháng, vì vậy một số liệu được lưu trữ vào ngày đầu tiên mô tả cùng một chỉ mục với một số liệu được lưu trữ vào ngày cuối cùng. Không có gì trong câu trả lời thay đổi trong tháng. Rắc rối bắt đầu khi người dùng mong đợi một liên kết từ ngày hôm qua, và sau đó giải pháp là một nhãn rõ ràng, như đã đề cập trong nhãn xếp hạng.

Các lệnh gọi tổng quan miễn phí có cần bộ nhớ cache không?

Hành động tổng quan không tốn tín dụng, vì vậy bộ nhớ cache ở đây bảo vệ tốc độ hơn là số dư. Máy chủ của bạn vẫn phải trả phí cho mỗi lần đi khứ hồi, và một trang mở năm mươi lần mỗi phút sẽ cảm nhận được điều đó. Hãy lưu trữ cả các câu trả lời miễn phí, với cùng khóa tháng, và trang sẽ vẫn nhanh trong khi proxy của bạn vẫn yên tĩnh. Các ghi chú tra cứu công khai giải thích cùng ý tưởng đó cho khách truy cập.

Một liên kết mới có nên bỏ qua bộ nhớ cache không?

Thường là không. Việc bỏ qua tốn tín dụng cho một câu trả lời có thể giống hệt với câu trả lời đã lưu trữ. Nếu khách hàng khăng khăng, hãy giải thích tháng chỉ mục và cung cấp một lần làm mới thủ công mỗi workspace mỗi tháng, thay vì một nút mở mà bất kỳ ai cũng có thể nhấn liên tục.

Bảo vệ chống stampede và những điều nhỏ nhặt khác

  • Single-flight: nếu mười người dùng mở cùng một tên miền, hãy thực hiện một lệnh gọi upstream và chia sẻ lời hứa.
  • Làm nóng vào ngày mùng một bằng công việc nền, không phải lúc 9 giờ sáng khi người dùng đến.
  • Lưu trữ _credits.remaining và cảnh báo khi dưới ngưỡng bạn chọn.
  • Lưu trữ kết quả âm 'không tìm thấy tên miền' trong một ngày, không phải một tháng.
  • Expose độ tuổi bộ nhớ cache trong UI để hỗ trợ có thể trả lời 'khi nào dữ liệu này được lấy?'.
Búa sắt và đá sông trên bàn làm việc đại diện cho bộ nhớ cache ổn định

Tại sao bộ nhớ cache lại tốt hơn việc cào dữ liệu để kiểm tra liên kết

Các nhóm cần kiểm tra backlink trang ở quy mô lớn thường bắt đầu với các tập lệnh truy vấn trực tiếp vào công cụ tìm kiếm. Những tập lệnh đó bị treo. Chúng trông rẻ vào ngày đầu tiên, đó là lý do tại sao các nhóm giữ chúng lâu hơn nhiều so với mức cần thiết. Một bộ nhớ cache phía trước một API ổn định thường là thiết kế rẻ hơn, với ít bộ phận chuyển động hơn để chăm sóc.

Sự khác biệt thể hiện ở số giờ kỹ thuật nhiều hơn là hóa đơn đầu tiên. Hãy giữ bộ nhớ cache đơn giản, và hầu hết những giờ đó sẽ không bao giờ xảy ra.

Tại sao các công cụ kiểm tra liên kết tự chế vẫn bị treo?

Các công cụ tìm kiếm giới hạn các truy vấn tự động, vì vậy một tập lệnh chạy sạch sẽ cho năm mươi URL có thể bị treo ở năm mươi nghìn. Các thử lại, nhóm proxy và độ trễ ngẫu nhiên đều thêm chi phí không xuất hiện trên dòng tín dụng, và chúng bị hỏng mà không có cảnh báo khi mục tiêu thay đổi phản hồi.

Làm thế nào để giữ cho một công việc danh sách dài có thể khởi động lại?

Ghi mỗi tên miền đã hoàn thành vào bộ nhớ cache khi bạn làm. Nếu công việc dừng lại giữa chừng, một lần khởi động sẽ bỏ qua mọi tên miền đã có câu trả lời được lưu trữ và tiếp tục nơi nó đã dừng lại. Không có gì được tính phí hai lần cho cùng một tháng, vì khóa đã chứa câu trả lời.

Chạy công việc với tốc độ ổn định thay vì theo một đợt. Khoảng cách giữa các lệnh gọi giúp nhật ký dễ đọc và khiến bất kỳ thay đổi nào trong việc sử dụng tín dụng dễ giải thích hơn.

Một danh sách 22.000 URL tốn bao nhiêu với bộ nhớ cache?

Giả sử bạn cần kiểm tra 22.000 URL liên kết cho một khách hàng. Nhiều trong số chúng chia sẻ một tên miền, vì vậy hãy loại bỏ trùng lặp thành tên miền trước. Những 22.000 liên kết đó có thể giảm xuống còn vài nghìn tên miền duy nhất, và một lệnh gọi bulk_dr chấp nhận tối đa 2.000 tên miền đó với một tín dụng duy nhất. Lưu trữ mỗi kết quả theo tên miền và tháng, và danh sách sẽ không còn là công việc theo URL nữa. Hãy giữ số học trong một ghi chú ngắn bên cạnh công việc, để người tiếp theo có thể chạy lại nó với kích thước danh sách khác. Một con số kèm theo cách tính toán dễ tin hơn một tổng số đơn thuần.

Mối liên kết này

Bộ nhớ cache là lớp trung gian trong cài đặt bộ đếm. Khi nó hoạt động, chi phí mỗi người dùng trở nên dự đoán được và bạn có thể định giá gói dịch vụ dựa trên đó với so sánh theo người dùng. Các trang ngắn cần một kết thúc rõ ràng. Trang này có nó.

Câu hỏi về bộ nhớ cache chúng tôi thấy trong code review

Bộ nhớ cache có nên sống trong trình duyệt không?

Bộ nhớ cache ngắn trong trình duyệt giúp điều hướng bằng nút quay lại, nhưng bộ nhớ cache dùng chung trên máy chủ của bạn mới là thứ tiết kiệm thực sự. Hãy giữ lưu trữ phía máy khách trong vài phút, vì người dùng trên các máy khác nhau sẽ thấy các số liệu khác nhau cho cùng một tên miền vào cùng một ngày.

Nếu khách hàng nói rằng một liên kết mới bị thiếu thì sao?

Kiểm tra tháng chỉ mục được hiển thị trong UI của bạn. Nếu liên kết được thêm vào sau lần làm mới cuối cùng, nó sẽ xuất hiện sau lần làm mới tiếp theo. Hãy cung cấp một ghi chú, không phải hoàn tiền, vì không có gì bị hỏng.

Tôi có thể bỏ qua bộ nhớ cache theo yêu cầu không?

Bạn có thể, nhưng mỗi lần bỏ qua tốn tín dụng cho một câu trả lời có khả năng giống hệt nhau. Hãy cung cấp nó chỉ dành cho quản trị viên và giới hạn tần suất mỗi workspace để tránh các vòng lặp vô tình.

Phân trang và khóa bộ nhớ cache

Phân trang cắn mọi người một lần. Hãy bao gồm nó trong khóa.

Các hành động backlinks và refdomains trả về tối đa 1.000 hàng mỗi lệnh gọi, với page và per từ 10 đến 5000, và phân trang sâu được giới hạn ở 50.000 hàng, vì vậy một khóa không có các tham số đó sẽ phục vụ trang một cho mọi yêu cầu.

Sắp xếp cũng thuộc về khóa. Một người dùng chuyển từ xếp hạng DR giảm dần sang thứ tự bảng chữ cái mong đợi một danh sách khác, và bộ nhớ cache phải đáp ứng mà không cần một lệnh gọi upstream mới khi bộ đầy đủ đã được lưu trữ.

Một bài kiểm tra nhanh sẽ bắt được hầu hết các lỗi khóa. Yêu cầu trang hai, thay đổi cách sắp xếp, sau đó kiểm tra xem trang hai được lưu trữ có khác với trang một được lưu trữ hay không. Nếu không, khóa bị thiếu một tham số. Tìm thấy sớm, nó tốn vài phút. Khách hàng không bao giờ thấy nó. Chạy lại bài kiểm tra trước mỗi bản phát hành, vì một tùy chọn sắp xếp mới là lý do thường khiến khóa bị hỏng. Hãy viết nó vào danh sách kiểm tra bản phát hành của bạn.

Lập kế hoạch nút xuất riêng biệt: một công việc nền, một tệp được lưu trữ và một thông báo khi nó sẵn sàng.