Zend_Cache ¿¡´Â,3 °³ÀÇ Æ÷ÀÎÆ®°¡ ÀÖ½À´Ï´Ù.¿ì¼± óÀ½Àº ÀÏÀÇÀÎ ID ( ¹®ÀÚ¿) ±×¸®°í, À̰Ϳ¡ ÀÇÇØ¼ ij½¬ ·¹Äڵ带 ½Äº°ÇÕ´Ï´Ù.µÎ¹øÂ°´Â,
¿¹¿¡ Æ÷ÇԵȴ٠'lifeTime'
Áö½Ã¹®ÀÔ´Ï´Ù.À̰ÍÀº, ij½¬µÈ ÀÚ¿øÀÇ ¡¸À¯È¿±âÇÑ¡¹À» Á¤ÀÇÇÏ´Â
°ÍÀÔ´Ï´Ù.3¹øÂ°ÀÇ Æ÷ÀÎÆ®°¡ µÇ´Â °ÍÀÌ Á¶°ÇºÎÀÇ ½ÇÇà 󸮷Î, ºÒÇÊ¿äÇÑ Äڵ带 ¿ÏÀüÇÏ°Ô ÀÐ¾î ³¯¸®´Â °ÍÀ¸·Î ó¸® ¼Óµµ¸¦ Çâ»ó½ÃŰ°Ô µË´Ï´Ù.
ÇÁ·ÐÆ®¿£µåÀÇ ÁÖ°¡ µÇ´Â ÇÔ¼ö ( ¿¹¸¦ µé¸é Zend_Cache_Core::get()
) (Àº)´Â,
ij½¬°¡ È÷Æ® ÇÏÁö ¾Ê¾Ò´ø °æ¿ì¿¡´Â Ç×»ó false (À»)¸¦ µ¹·ÁÁÖµµ·Ï ¼³°èµÇ°í ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡, ij½¬ÇÏ°í ½Í´Ù ( ±×¸®°í ÀÐ¾î ³¯¸®°í
½Í´Ù) ºÎºÐÀ» if(){ ... }
¹®ÀåÀ¸·Î µÑ·¯½Ò ¶§¿¡, Á¶°Ç½ÄÀ¸·Î¼ Zend_Cache
ÀÇ ¸Þ¼Òµå ÀÚ½ÅÀ» »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ ºí·ÏÀÇ ÃÖÈÄ¿¡¼´Â, Ãâ·Â ³»¿ëÀ» ( ¿¹¸¦ µé¸é Zend_Cache_Core::save()
µî¿¡¼)
º¸Á¸ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
![]() |
ÁÖÀÇ |
---|---|
Á¶°ÇºÎÀÇ ½ÇÇà 󸮸¦ ¹Ýµå½Ã ±â¼úÇØ¾ß ÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ÇÁ·ÐÆ®¿£µåÀÇ Á¾·ù¿¡ µû¶ó¼´Â ( ¿¹¸¦ µé¸é |
![]() |
ÁÖÀÇ |
---|---|
'Cache hit ( ij½¬¿¡ È÷Æ® Çß´Ù)' (ÀÌ)¶õ, ij½¬ ·¹Äڵ尡 ¹ß°ßµÇ¾î, ÇÑÆí ±× ·¹Äڵ尡 'fresh ( ½Å¼±)' ( ¹Ù²Ù¾î ¸»Çϸé, ¾ÆÁ÷ À¯È¿±â°£ÀÌ ²÷¾îÁöÁö ¾Ê¾Ò´Ù) »óÅÂÀÎ °ÍÀ» ³ªÅ¸³»´Â ¸»ÀÔ´Ï´Ù.'Cache miss ( ij½¬°¡ ¹ß°ßµÇÁö ¾Ê¾Ò´Ù)' (Àº)´Â ±× Á¤¹Ý´ëÀÔ´Ï´Ù.ij½¬°¡ ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì´Â, µ¥ÀÌÅ͸¦ ( Åë»ó´ë·Î) ÀÛ¼ºÇØ, ±×°ÍÀ» ij½¬ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ÇÑÆí, ij½¬¿¡ È÷Æ® ÇßÀ» °æ¿ì´Â, ¿¬±¸ ÃÖÁ¾ ´Ü°è°¡ ÀÚµ¿ÀûÀ¸·Î ij½¬ ·¹Äڵ带 ÃëµæÇØ ÁÝ´Ï´Ù. |
»ç¿ë °¡´ÉÇÑ Zend_Cache
ÇÁ·ÐÆ®¿£µåÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ», ÀÌÇÏÀÇ
¿¹·Î ³ªÅ¸³» º¸ÀÔ´Ï´Ù.
<?php
# Zend_Cache
ÆÑÅ丮¸¦ ÀоîµéÀÔ´Ï´Ù
require 'Zend/Cache.php';
#
¿¬±¸ ÃÖÁ¾ ´Ü°è¸¦ ¼±ÅÃÇÕ´Ï´Ù (
¿¹¸¦ µé¸é 'File'
(ÀÌ)³ª 'Sqlite'...)
$backendName = '[...]';
#
ÇÁ·ÐÆ®¿£µå¸¦ ¼±ÅÃÇÕ´Ï´Ù (
¿¹¸¦ µé¸é 'Core'
,'Output'
,'Page'...)
$frontendName = '[...]';
#
¼±ÅÃÇÑ ÇÁ·ÐÆ®¿£µå¿ëÀÇ ¿É¼ÇÀ» ¹è¿·Î ¼³Á¤ÇÕ´Ï´Ù
$frontendOptions = array([...]);
#
¼±ÅÃÇÑ ¿¬±¸ ÃÖÁ¾ ´Ü°è¿ëÀÇ ¿É¼ÇÀ» ¹è¿·Î ¼³Á¤ÇÕ´Ï´Ù
$backendOptions = array([...]);
#
ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù
# (
¹°·Ð, ¸¶Áö¸· 2
°³ÀÇ Àμö´Â Çʼö°¡ ¾Æ´Õ´Ï´Ù)
$cache = Zend_Cache::factory($frontendName, $backendName, $frontendOptions, $backendOptions);
?>
ÀÌ ÀÌÈÄÀÇ ¹®¼¿¡¼´Â,$cache
ÀÇ ³»¿ëÀÌ À¯È¿ÇÑ ÇÁ·ÐÆ®¿£µå°¡ µÇ¾î ÀÖ´Â °ÍÀ¸·Î
ÇÕ´Ï´Ù.¶Ç, ¼±ÅÃÇÑ ¿¬±¸ ÃÖÁ¾ ´Ü°è¿¡ ÆÄ¶ó¹ÌÅ͸¦ °Ç³×ÁÖ´Â ¹æ¹ýÀº ÀÌÇØ µÇ¾î ÀÖ´Â °ÍÀ¸·Î ÇÕ´Ï´Ù.
![]() |
ÁÖÀÇ |
---|---|
Ç×»ó |
ű״Â, ij½¬ ·¹Äڵ带 ºÐ·ùÇϱâ À§ÇÑ ±¸Á¶ÀÔ´Ï´Ù. save()
¸Þ¼Òµå·Î ij½¬¸¦ º¸Á¸ÇÒ
¶§¿¡, Àû¿ëÇϴ ű׸¦ ¹è¿·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.À̰ÍÀ» »ç¿ëÇϸé, ÁöÁ¤ÇÑ Å±װ¡ ¼³Á¤µÇ¾î Àִ ij½¬ ·¹Äڵ常À» »èÁ¦ÇÑ´Ù°í Çß´ø °ÍÀÌ
°¡´ÉÇØÁý´Ï´Ù.
<?php
$cache->save($huge_data, 'myUniqueID', array('tagA', 'tagB', 'tagC'));
?>
![]() |
ÁÖÀÇ |
---|---|
|
ƯÁ¤ÀÇ Ä³½¬ ID (À»)¸¦ »èÁ¦/ ¹«È¿ÈÇÏ·Á¸é ,remove()
¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.
<?php
$cache->remove('
»èÁ¦ÇÑ´ÙID');
?>
1ȸÀÇ Á¶ÀÛÀ¸·Î º¹¼öÀÇ Ä³½¬ ID (À»)¸¦ »èÁ¦/ ¹«È¿ÈÇÏ·Á¸é ,clean()
¸Þ¼Òµå¸¦
»ç¿ëÇÕ´Ï´Ù.¿¹¸¦ µé¸é, ¸ðµç ij½¬ ·¹Äڵ带 »èÁ¦ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
<?php
//
¸ðµç ·¹Äڵ带 »èÁ¦ÇÕ´Ï´Ù
$cache->clean(Zend_Cache::CLEANING_MODE_ALL);
//
À¯È¿±â°£ Á¶°¢ÀÇ ·¹Äڵ常 »èÁ¦ÇÕ´Ï´Ù
$cache->clean(Zend_Cache::CLEANING_MODE_OLD);
?>
ÅÂ±× 'tagA' ¹× 'tagC' ¿¡ ÇØ´çÇϴ ij½¬ ¿£Æ®¸®¸¦ »èÁ¦ÇÏ·Á¸é , ÀÌ¿Í °°ÀÌ ÇÕ´Ï´Ù.
<?php
$cache->clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('tagA', 'tagC'));
?>
»èÁ¦ ¸ðµå·Î¼ ÁöÁ¤ °¡´ÉÇÑ °ªÀº CLEANING_MODE_ALL
,CLEANING_MODE_OLD
, CLEANING_MODE_MATCHING_TAG
¹× CLEANING_MODE_NOT_MATCHING_TAG
ÀÔ´Ï´Ù.ÈÄÀÚ´Â
°ªÀº, ±× À̸§ÀÌ ³ªÅ¸³» º¸ÀÌ´Â ´ë·Î, ű×ÀÇ ¹è¿°ú Á¶ÇÕÇØ »ç¿ëÇÕ´Ï´Ù.