Điểm:0

Tại sao các câu trả lời còn lại của tôi không được lưu vào bộ nhớ đệm?

lá cờ ph

Tôi đã tạo một điểm cuối còn lại đơn giản để kiểm tra bộ nhớ đệm và tôi thấy phản hồi đang cập nhật. Điều gì đang ngăn không cho nó được lưu vào bộ nhớ cache?

Đây là mã điểm cuối còn lại:

<?php

không gian tên Drupal\nm_base_api\Plugin\rest\resource;

sử dụng Drupal\rest\ResourceResponse;
sử dụng Drupal\rest\Plugin\ResourceBase;
sử dụng Drupal\Core\Cache\CacheableMetaData;



/**
 * Đây chỉ là một ví dụ.
 *
 * @RestResource(
 * id = "kiểm tra",
 * nhãn = @Translation("Kiểm tra"),
 * uri_paths = {
 * "chính tắc" = "/api/v1/test"
 * }
 * )
 */
lớp Kiểm tra mở rộng ResourceBase {

  /**
   * {@inheritdoc}
   */
  hàm công khai get() {
    $response = new ResourceResponse(
      [
        'tiêu đề' => 'kiểm tra',
        'thời gian' => thời gian(),
      ]
    );
    $cache_meta_data = CacheableMetadata mới();
    $cache_meta_data->setCacheMaxAge(2);
    $response->addCacheableDependency($cache_meta_data);

    trả lại phản hồi $;
  }

}

Và đây là những gì tôi thấy trong câu trả lời:

$curl 'http://base.test:8020/api/v1/test'
{"title":"test","time":1651152255}

$ cuộn tròn 'http://base.test:8020/api/v1/test'
{"title":"test","time":1651152256}

$ cuộn tròn 'http://base.test:8020/api/v1/test'
{"title":"test","time":1651152257}
sonfd avatar
lá cờ in
Bạn chỉ cần thêm siêu dữ liệu bộ đệm chính xác vào phản hồi?
4uk4 avatar
lá cờ cn
Điều này có trả lời câu hỏi của bạn không? [D8: Không thể đặt tuổi tối đa của bộ đệm trên ResourceResponse](https://drupal.stackexchange.com/questions/255579/d8-unable-to-set-cache-max-age-on-resourceresponse)
Lambic avatar
lá cờ ph
Điều đó có vẻ ngược lại, họ không muốn bộ nhớ đệm nhưng có nó. Tôi muốn bộ nhớ đệm nhưng không có nó.
sonfd avatar
lá cờ in
@Lambic - Bạn có thấy cách họ thêm siêu dữ liệu bộ đệm vào bài đăng đó không? Đó là những gì bạn cần làm.
Lambic avatar
lá cờ ph
Tôi đã thử điều đó và cập nhật ví dụ ở trên, vẫn không có bộ nhớ đệm nào xảy ra
4uk4 avatar
lá cờ cn
Có thể là cài đặt nhà phát triển cục bộ vô hiệu hóa bộ nhớ đệm?
Lambic avatar
lá cờ ph
Điều đó là có thể, vì vậy tôi đã đẩy mã lên một phiên bản ci để kiểm tra ở đó và vẫn gặp phải vấn đề tương tự.Ngoài ra, chúng tôi đang chạy redis dưới dạng phụ trợ bộ đệm để có thể nó dành riêng cho redis.
sonfd avatar
lá cờ in
Các trang khác có được lưu trong bộ nhớ cache không?
Lambic avatar
lá cờ ph
Thực sự rất khó để nói vì đây là một trang web dựa trên api không có nội dung công khai, nhưng tôi sẽ thử và xem liệu tôi có thể kiểm tra điều đó không.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.