Nếu bạn đặt Yii để đăng nhập truy vấn cơ sở dữ liệu ('enableParamLogging' = > sự thật trong các thiết lập db của tập tin cấu hình của bạn) bạn có thể thấy rằng Yii truy vấn cơ sở dữ liệu thường xuyên cho ActiveRecord truy vấn.Ví dụ: nói rằng bạn có một mô hình đặt tên người dùng và bạn cho biết Yii để giúp bạn có một người sử dụng bởi khóa chính, Yii sẽ truy vấn cơ sở dữ liệu three(!) lần. Nó sẽ làm một truy vấn cột hiển thị, sau đó một chương trình tạo truy vấn bảng, sau đó cuối cùng nó sẽ truy vấn cơ sở dữ liệu cho các dữ liệu thực tế. Những truy vấn lần đầu tiên hai là vì vậy Yii biết giản đồ bảng người dùng của bạn. Nếu thời gian chuyến đi vòng từ máy chủ ứng dụng của bạn đến máy chủ cơ sở dữ liệu của bạn là 100ms (nếu đó là thực sự này chậm, bạn nên làm một cái gì đó về nó), sau đó những truy vấn hai để có được giản đồ sẽ thêm tối thiểu là 200ms để thời gian phản ứng ứng dụng của bạn. Nó sẽ làm điều này cho mỗi yêu cầu duy nhất mà populates mô hình người dùng của bạn. Tùy thuộc vào cách viết đơn của bạn, nó có thể thậm chí làm việc đó nhiều lần trong một đơn yêu cầu.Nếu, mặt khác, bạn cho biết Yii để sử dụng lược đồ bộ nhớ đệm, Yii sẽ kiểm tra bộ nhớ cache để xem nếu nó đã biết giản đồ bảng người dùng của bạn và nếu có, nó sẽ sử dụng thay vì nhấn cơ sở dữ liệu. Vẫn còn độ trễ tham gia vào việc kiểm tra bộ nhớ cache, nhưng hy vọng rằng nó là nhỏ hơn hoặc bằng với độ trễ đến máy chủ cơ sở dữ liệu. Nói rằng bạn đang sử dụng một máy chủ Redis cho bộ nhớ đệm và nó cũng có một độ trễ của 100ms (cũng ridiculously dài). Bộ nhớ đệm giản đồ vẫn sẽ nhanh hơn so với truy vấn cơ sở dữ liệu, bởi vì Yii chỉ cần để truy vấn bộ nhớ cache của một thời gian duy nhất để lấy các lược đồ, so với hai chuyến đi đến cơ sở dữ liệu.Vì vậy, trong ví dụ này, chuyển đổi từ một độ trễ cao truy vấn cơ sở dữ liệu cho lược đồ để truy vấn các máy chủ bộ nhớ cache độ trễ cao sẽ vẫn tiết kiệm thời gian. Trong thực tế, bộ nhớ cache của bạn nên là độ trễ thấp hơn nhiều so với cơ sở dữ liệu của bạn và do đó giúp bạn tiết kiệm nhiều thời gian và nếu ứng dụng của bạn là điều khiển từ xa phức tạp, Yii sẽ tải sơ đồ từ nhiều bảng trên mỗi yêu cầu như vậy sơ đồ bộ nhớ đệm có thể làm cho một sự khác biệt rất lớn trong thời gian đáp ứng yêu cầu.
đang được dịch, vui lòng đợi..