ស្វែងយល់អំពី Cache Component នៅក្នុង Symfony3

តើអ្នកទាំងអស់គ្នាធ្លាប់បានលឺ អ្វីទៅដែលហៅថា Cache Component ដែររឺទេ? ហើយបើអ្នកធ្លាប់លឺ តើអ្នកធ្លាប់សាកល្បងស្រាវជ្រាវអំពីវាដែររឺក៏អត់? តើអ្នកមានបានដឹងខ្លះទេអំពីរបៀបនៃការតម្លើងនិងការប្រើប្រាស់របស់វានៅក្នុង Symfony3? ប្រសិនបើអ្នកមិនធ្លាប់ដឹងអំពី Cache Component ទាល់តែសោះនោះ យើងខ្ញុំនឹងនាំអ្នកទាំងអស់គ្នាមកស្វែងយល់អំពីវា ថាតើ Cache Component គឺជាអ្វី ក៏ដូចជាការតម្លើង ការប្រើប្រាស់របស់វាមានដំណើរការដូចម្ដេចខ្លះ សូមអានទាំងអស់គ្នា។

Cache Component គឺផ្ដល់នូវការពង្រីកនូវ PSR-6 ដែលជាអនុវត្តសម្រាប់ការបន្ថែមនូវ cache ទៅកាន់ application របស់អ្នក។ វាត្រូវបានបង្កើតឡើងអោយមាននូវការចំណាយទាបហើយការភ្ជាប់មកជាមួយនូវការប្រើប្រាស់ adapters រួចជាស្រេចសម្រាប់ caching backends ទូទៅ។

១) ការតម្លើង

អ្នកអាចតម្លើង cache component តាមវិធី២ផ្សេងគ្នា៖

ទី១៖ តម្លើងវាតាមរយៈ Composer (symfony/cache នៅលើ packagist)

ទី២៖ ប្រើនូវ Git repository ផ្លូវការ (https://github.com/symfony/cache)

២) Key Concepts

មុននឹងចាប់ផ្ដើមប្រើប្រាស់នូវ Cache component វាជារឿងសំខាន់ដែលអ្នកត្រូវរៀនអំពីនិយមន័យរបស់ពាក្យសំខាន់មួយចំនួនដូចជា៖

  • Item៖ ជាបណ្ដុំនៃព័ត៌មានមួយដែលរក្សាទុកនូវ key/value គូ ដែលជាកន្លែងដែល key គឺជា identifier តែមួយគត់នៃព័ត៌មានហើយតម្លៃនេះគឺជា contents របស់វា
  • Pool៖ logical repository នៃ cache items។ Cache operations ទាំងអស់ (ការរក្សាទុកនូវ items ការស្វែងរកនូវ items និងជាច្រើនទៀត) ជាដំណើរការតាមរយៈ pool។ Application អាចកំណត់ pools បានច្រើនតាមដែលត្រូវការ។
  • Adapter៖ ការអនុវត្តនូវ caching mechanism ពិតប្រាកដរបស់វាដើម្បីរក្សានូវព័ត៌មានក្នុង filesystem រឺក៏ក្នុង​ database ។ល។ Component ផ្ដល់នូវការប្រើប្រាស់ adapters រួចជាស្រេចជាច្រើនសម្រាប់ caching backends ទូទៅ (Redis, APCu, Doctrine, PDO, ។ល។)។

៣) មូលដ្ឋានគ្រឹះនៃការប្រើប្រាស់

Component នេះគឺជាការអនុវត្តនៃ PSR-6 ដែលមានន័យថា មូលដ្ឋានគ្រឹះ API របស់វាគឺដូចជាទៅនឹងការកំណត់ក្នុងស្តង់ដារ។ មុននឹងចាប់ផ្ដើមធ្វើការ cache ព័ត៌មាន អ្នកត្រូវបង្កើតនូវ cache pool ដែលប្រើប្រាស់នូវ built-in adapters ណាមួយ។ ឧទាហរណ៏ ដើម្បីបង្កើត filesystem-based cache គឺត្រូវ instantiate នូវ FilesystemAdapter

ពេលនេះអ្នកអាចបង្កើត ទទួល កែប្រែ និងលុបនូវ items ដោយប្រើប្រាស់ cache pool នេះបាន៖