Symfony

Cache & Hiệu năng

Cache pool, adapter, tag, vô hiệu hóa cache, HTTP cache, ESI, tích hợp Varnish

20 câu hỏi phỏng vấn·
Mid-Level
1

Symfony sử dụng interface nào để triển khai hệ thống cache PSR-6?

Câu trả lời

Symfony triển khai chuẩn PSR-6 thông qua CacheItemPoolInterface. Interface này định nghĩa các phương thức getItem(), hasItem(), deleteItem(), save() và clear() để quản lý các cache item. Thành phần Cache của Symfony cung cấp nhiều adapter (Redis, Memcached, Filesystem, v.v.) đều triển khai interface này, đảm bảo khả năng tương tác với các thư viện PHP tương thích PSR-6 khác.

2

Cache adapter mặc định được cấu hình trong Symfony cho môi trường development là gì?

Câu trả lời

Trong môi trường development, Symfony mặc định sử dụng ArrayAdapter, lưu trữ cache trong bộ nhớ. Cache này không tồn tại giữa các request, điều này lý tưởng cho việc phát triển vì nó tránh được vấn đề cache cũ khi chỉnh sửa code. Trong môi trường production, nên sử dụng một adapter bền vững như Redis hoặc Memcached để đạt hiệu năng tốt hơn.

3

Làm thế nào để tạo một cache pool tùy chỉnh trong cấu hình Symfony?

Câu trả lời

Các cache pool tùy chỉnh được định nghĩa dưới khóa framework.cache.pools trong cấu hình. Mỗi pool có thể chỉ định adapter của nó, thời gian sống mặc định (default_lifetime), và tùy chọn tags. Ví dụ, một pool 'app.cache.products' với RedisAdapter cho phép quản lý cache sản phẩm độc lập với dữ liệu khác, giúp việc vô hiệu hóa có mục tiêu dễ dàng hơn.

4

Phương thức nào được dùng để lấy một giá trị từ cache với một callback tính toán nếu giá trị không tồn tại?

5

Lợi ích chính của cache tags trong Symfony là gì?

+17 câu hỏi phỏng vấn

Nắm vững Symfony cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí