Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
428,63 KB
Nội dung
Bài5: V n v CacheYiiframeworkBài5: Caching Yiiframework M c tiêu h c T ng quan v Caching Yiiframework Caching d li u Caching o n d li u Caching trang d li u N i dung ng Bài5: Caching Yiiframework T ng quan v Caching YiiframeworkBài5: Caching Yiiframework Caching gì? B nh m (caching) m t cách ti t ki m chi phí r t hi u qu vi c c i thi n hi u su t c a m t ng d ng Web B ng cách l u tr d li u t ng i t nh b nh cache ph c h i t b nh cache có yêu c u, ti t ki m th i gian c n thi t t o d li u m i S d ng b nh cacheYii ch y u liên quan n c u hình truy c p vào m t thành ph n ng d ng b nh cacheBài5: Caching Yiiframework Caching gì? s d ng b nh m, ta dùng: Yii::app()->cache Bài5: Caching Yiiframework Caching gì? s d ng b nh m, ta dùng: Yii::app()->cache Yii cung c p lo i b nh m sau: CMemCache: s d ng PHP memcache m r ng CApcCache: s d ng PHP APC m r ng CXCache: s d ng PHP XCache m r ng CEAcceleratorCache: s d ng PHP eAccelerator m r ng CDummyCache: gi i thi u cache gi mà khơng có b nh m M c ích n gi n hóa mã mà c n ki m tra s s n có c a b nh cache •Ví d , q trình phát tri n, n u máy ch khơng có h tr b nh cache th c t , có th s d ng thành ph n b nh cacheBài5: Caching Yiiframework Caching d li u YiiframeworkBài5: Caching Yiiframework Caching d li u gì? B nh m d li u nh m l u tr m t s bi n PHP b nh cache l y b nh cache c n thi t V i m c ích này, l p CCache cung c p ph ng th c get() set() l u tr bi n $value Cache, s d ng id nh t nh sau: l u d li u Cache m t th i gian nh t dùng: nh, ta Bài5: Caching Yiiframework Caching d li u gì? C ng có th get, set cách t ng Câu l nh thi t l p d li u cache: $cache ->set('var1',$value1); Câu l nh ng nh sau: VS c d li u t cache: $value2=$cache->get('var2'); VS •Trong ó: var1, var2 óng vai trò ID Bài5: Caching Yiiframework B nh m ph thu c? Bên c nh vi c thi t l p ngày h t h n, l u tr d li u c ng có th vơ hi u hóa b ng cách s d ng m t s thay i ph thu c Ví d , có b nh m ch a n i dung c a m t s t p tin t p tin thay i, nên vơ hi u hóa b n l u tr c n i dung m i nh t t t p tin thay c b nh cache Ta s dung th hi n c a l p CCacheDependency s d ng vào vi c Bài5: Caching Yiiframework 10 B nh m o n d li u? Ví d o n trên, n u n u beginCache() tr v false, n i dung l u tr s ct ng chèn vào cache Ng c l i n i dung bên s c th c hi n c l u tr endCache () c g i Bài5: Caching Yiiframework 18 Các l a ch n b nh m? V th i gian: Xét ví d sau: Ta th y r ng o n mã s l u tr n i dung vào cache nh t gi N u không thi t l p th i gian, s m c nh 60 giây, có ngh a n i dung c l u tr s h t hi u l c sau 60 giây Bài5: Caching Yiiframework 19 Các l a ch n b nh m? V s ph thu c: Ví d : n i dung c a m t vi t vào có hay khơng có cs a c hi n th ph thu c i o n mã quy nh n i dung phân m nh ph thu c vào s thay i giá tr c t lastmodified: Bài5: Caching Yiiframework 20 Các bi n th b nh m? tránh g i nh m vùng nh m, nên s d ng ID khác g i beginCache () Các lo i bi n th : •varyByRoute •varyBySession •VaryByParam •varyByExpression Bài5: Caching Yiiframework 21 Các lo i yêu c u? Khi hi n th Form, mu n l u cache sau g i l i Form chúng có th c t cache i n l i v Form Bài5: Caching Yiiframework 22 Cache l ng nhau? “ o n” b nh m có th c l ng vào ó là, m t “ o n” l u tr c bao b c m t “ o n” l n h n c ng c l u tr Ví d , ý ki n c l u tr m t b nh cache bên “ o n” b nh m, chúng c ng c l u tr v i n i dung m t b nh m bên Bài5: Caching Yiiframework 23 B nh m Trang d li u YiiframeworkBài5: Caching Yiiframework 24 B nh m Trang d li u? Trang b nh m c p nb tồn b trang Trang b nh m có th x y t Ví d , b ng cách ch n m t tiêu t c a ng i dùng có th nh m t th i gian h n ch Các th l u tr n i dung trang b nh m n i dung c a i v trí khác trang thích h p, trình cache trang c xem ng d ng web c ng có nh cacheBài5: Caching Yiiframework 25 B nh m Trang d li u u ra? Chúng ta có th s d ng COutputCache nh m t b l c o n mã sau ây cho th y cách c u hình b l c b nh cache: Chú ý: COutputCache dùng nh d n xu t t CFilterWidget m t b l c b i Bài5: Caching Yiiframework 26 B nh m HTTP? Chúng ta s d ng CHttpCacheFilter CHttpCacheFilter có th c thi t l p t COutputCache: ng t nh o n mã s thi t l p tiêu Last Modified n ngày cu i mà t i ó m t vi t ã c c p nh t B n có th s d ng lastModifiedExpression thi t l p thay i tiêu b ng cách s d ng m t bi u th c php Bài5: Caching Yiiframework 27 N i dung d li u ng YiiframeworkBài5: Caching Yiiframework 28 N i dung d li u ng? Khi s d ng o n d li u hay trang d li u u d li u t nh gi i quy t v n này, ta có th l u cache theo tên ng i dùng, nhiên r t t n khơng gian l u tr Vì v y ta có th s d ng tính n ng n i dung ng c cung c p b i Ccontroller Chúng ta g i CController::renderDynamic() chèn n i dung ng t i v trí mong mu n Bài5: Caching Yiiframework 29 O DEM -S d ng cacheYiiframework T ng k t h c T ng quan v Caching Yiiframework Caching d li u Caching đo n d li u Caching trang d li u N i dung đ ng Bài5: Caching Yiiframework 31 XIN C M N! Bài5: Caching Yiiframework 32 ... quan v Caching Yii framework Caching d li u Caching o n d li u Caching trang d li u N i dung ng Bài 5: Caching Yii framework T ng quan v Caching Yii framework Bài 5: Caching Yii framework Caching... Caching Yii framework Caching gì? s d ng b nh m, ta dùng: Yii: :app()- >cache Bài 5: Caching Yii framework Caching gì? s d ng b nh m, ta dùng: Yii: :app()- >cache Yii cung c p lo i b nh m sau: CMemCache:... nh cache •Ví d , q trình phát tri n, n u máy ch khơng có h tr b nh cache th c t , có th s d ng thành ph n b nh cache Bài 5: Caching Yii framework Caching d li u Yii framework Bài 5: Caching Yii