Bài 5: Vấn đề về Cache trong Yii framework

32 108 0
Bài 5: Vấn đề về Cache trong Yii framework

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài 5: V n v Cache Yii framework Bài 5: Caching Yii framework M c tiêu h c      T ng 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 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 cache Yii 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 cache Bài 5: 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: 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 cache Bài 5: Caching Yii framework Caching d li u Yii framework Bài 5: Caching Yii framework 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ài 5: Caching Yii framework 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ài 5: Caching Yii framework 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ài 5: Caching Yii framework 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ài 5: Caching Yii framework 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ài 5: Caching Yii framework 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ài 5: Caching Yii framework 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ài 5: Caching Yii framework 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ài 5: Caching Yii framework 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ài 5: Caching Yii framework 23 B nh m Trang d li u Yii framework Bài 5: Caching Yii framework 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 cache Bài 5: Caching Yii framework 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ài 5: Caching Yii framework 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ài 5: Caching Yii framework 27 N i dung d li u ng Yii framework Bài 5: Caching Yii framework 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ài 5: Caching Yii framework 29 O DEM -S d ng cache Yii framework T ng k t h c T ng 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 31 XIN C M N! Bài 5: Caching Yii framework 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

Ngày đăng: 06/03/2019, 09:24

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan