Block Caching
Constants that define each block's caching state.
Modules specify how their blocks can be cached in their hook_block_info() implementations. Caching can be turned off (DRUPAL_NO_CACHE), managed by the module declaring the block (DRUPAL_CACHE_CUSTOM), or managed by the core Block module. If the Block module is managing the cache, you can specify that the block is the same for every page and user (DRUPAL_CACHE_GLOBAL), or that it can change depending on the page (DRUPAL_CACHE_PER_PAGE) or by user (DRUPAL_CACHE_PER_ROLE or DRUPAL_CACHE_PER_USER). Page and user settings can be combined with a bitwise-binary or operator; for example, DRUPAL_CACHE_PER_ROLE | DRUPAL_CACHE_PER_PAGE means that the block can change depending on the user role or page it is on.
The block cache is cleared in cache_clear_all(), and uses the same clearing policy than page cache (node, comment, user, taxonomy added or updated...). Blocks requiring more fine-grained clearing might consider disabling the built-in block cache (DRUPAL_NO_CACHE) and roll their own.
Note that user 1 is excluded from block caching.
File
- 
              includes/
common.inc, line 94  
Constants
| Title Sort descending | File name | Summary | 
|---|---|---|
| DRUPAL_CACHE_CUSTOM | includes/ | 
                                                                                        The block is handling its own caching in its hook_block_view(). | 
| DRUPAL_CACHE_GLOBAL | includes/ | 
                                                                                        The block or element is the same for every user and page that it is visible. | 
| DRUPAL_CACHE_PER_PAGE | includes/ | 
                                                                                        The block or element can change depending on the page being viewed. | 
| DRUPAL_CACHE_PER_ROLE | includes/ | 
                                                                                        The block or element can change depending on the user's roles. | 
| DRUPAL_CACHE_PER_USER | includes/ | 
                                                                                        The block or element can change depending on the user. | 
| DRUPAL_NO_CACHE | includes/ | 
                                                                                        The block should not get cached. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.