当前位置: 首页>>代码示例>>PHP>>正文


PHP Cache_Lite::remove方法代码示例

本文整理汇总了PHP中Cache_Lite::remove方法的典型用法代码示例。如果您正苦于以下问题:PHP Cache_Lite::remove方法的具体用法?PHP Cache_Lite::remove怎么用?PHP Cache_Lite::remove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Cache_Lite的用法示例。


在下文中一共展示了Cache_Lite::remove方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: removeFromCache

 /**
  * This is a warpper for Cache_Lite::remove(), since it generates
  * strict warnings.
  * 
  * @param mixed $key The key to remove from cache
  * 
  * @return result of Cache_Lite::remove(), without the strict warnings
  */
 protected function removeFromCache($key)
 {
     $current = error_reporting();
     error_reporting($current & ~E_STRICT);
     $this->cache->remove($key);
     error_reporting($current);
 }
开发者ID:shupp,项目名称:openid,代码行数:15,代码来源:CacheLite.php

示例2: remove

 /**
  * Remove a cached data entry by ID and group
  *
  * @param   string  $id     The cache data ID
  * @param   string  $group  The cache data group
  *
  * @return  boolean
  *
  * @since   11.1
  */
 public function remove($id, $group)
 {
     static::$CacheLiteInstance->setOption('cacheDir', $this->_root . '/' . $group . '/');
     // This call is needed to ensure $this->rawname is set
     $this->_getCacheId($id, $group);
     return static::$CacheLiteInstance->remove($this->rawname, $group);
 }
开发者ID:joomla-projects,项目名称:media-manager-improvement,代码行数:17,代码来源:cachelite.php

示例3: intercept_page

 public function intercept_page(&$page)
 {
     if ($this->_in_excluded_pages()) {
         return;
     }
     $frontend = Frontend::instance();
     $logged_in = $frontend->isLoggedIn();
     $headers = $page['page']->_headers;
     $url = getCurrentPage();
     $options = array('cacheDir' => CACHE . "/", 'lifeTime' => $this->_get_lifetime());
     $cl = new Cache_Lite($options);
     if ($page['page']->_param['url-flush'] == 'site') {
         $cl->clean();
     } else {
         if (array_key_exists('url-flush', $page['page']->_param)) {
             $cl->remove($url);
         } else {
             if (!$logged_in && ($output = $cl->get($url))) {
                 # Ensure the original headers are served out
                 foreach ($headers as $header) {
                     header($header);
                 }
                 print $output;
                 if ($this->_get_comment_pref() == 'yes') {
                     echo "<!-- Cache served: " . $cl->_fileName . " -->";
                 }
                 exit;
             }
         }
     }
 }
开发者ID:bauhouse,项目名称:sym-extensions,代码行数:31,代码来源:extension.driver.php

示例4: delete

 public function delete()
 {
     global $config;
     if ($config['cache']['disable']) {
         return false;
     }
     return parent::remove($this->cache_id, $this->cache_group);
 }
开发者ID:brokencube,项目名称:hodgepodge,代码行数:8,代码来源:CacheLite.php

示例5: delete_by_cache_id

 /**
  * Removes all items from cache with specified cache ids (cache id = md5(id))
  *
  * @param	array	$ids
  * @return	bool
  */
 public function delete_by_cache_id(array $ids)
 {
     if (empty($ids)) {
         return true;
     }
     foreach ($ids as $id) {
         if ($this->cache_lite->remove($id, 'vivvo_cache') !== true) {
             return false;
         }
     }
     return true;
 }
开发者ID:ahanjir07,项目名称:vivvo-dev,代码行数:18,代码来源:Cache_Lite.php

示例6: die

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
if ($this->get['invoices_export_hash']) {
    set_time_limit(86400);
    ignore_user_abort(true);
    $invoices_export = mslib_fe::getInvoicesExportWizard($this->get['invoices_export_hash'], 'code');
    $lifetime = 7200;
    if ($this->ADMIN_USER) {
        $lifetime = 0;
    }
    $options = array('caching' => true, 'cacheDir' => $this->DOCUMENT_ROOT . 'uploads/tx_multishop/tmp/cache/', 'lifeTime' => $lifetime);
    $Cache_Lite = new Cache_Lite($options);
    $string = 'invoicesfeed_' . $this->shop_pid . '_' . serialize($invoices_export) . '-' . md5($this->cObj->data['uid'] . '_' . $this->server['REQUEST_URI'] . $this->server['QUERY_STRING']);
    if ($this->ADMIN_USER and $this->get['clear_cache']) {
        $Cache_Lite->remove($string);
    }
    if (!($content = $Cache_Lite->get($string))) {
        $fields = unserialize($invoices_export['fields']);
        $post_data = unserialize($invoices_export['post_data']);
        if (!$post_data['delimeter_type']) {
            $post_data['delimeter_type'] = ';';
        }
        $fields_values = $post_data['fields_values'];
        $records = array();
        // orders record
        $filter = array();
        $from = array();
        $having = array();
        $match = array();
        $orderby = array();
开发者ID:bvbmedia,项目名称:multishop,代码行数:31,代码来源:download_invoices_export.php

示例7: delete

 /**
  * Explicitly deletes (empties) values stored for the given key
  * @param string $key The key used to delete value
  * @return boolean
  */
 public function delete($key)
 {
     return $this->cache->remove($key, self::$group);
 }
开发者ID:BGCX261,项目名称:zigolive-svn-to-git,代码行数:9,代码来源:epCacheCachelite.php

示例8: getFromCache

 public function getFromCache($id, $group, $REQUIRED_KEYS = null, $sign = null)
 {
     $cacheId = $this->localCacheKey($id, $group);
     //Сначала ищем в локальном хранилище
     if ($this->CACHE->has($cacheId)) {
         $CACHED = $this->CACHE->get($cacheId);
         if ($CACHED['sign'] == $sign) {
             $this->LOGGER->info("Информация по ключу '{$cacheId}' найдена в локальном кеше");
             return $CACHED['data'];
         } else {
             $this->LOGGER->info("Информация по ключу '{$cacheId}' найдена в локальном кеше, но старая и новая подписи не совпадают: [{}]!=[{}]. Чистим...", $CACHED['sign'], $sign);
             $this->CACHE->remove($cacheId);
             $this->CACHELITE->remove($id, $group);
             return null;
         }
     }
     /*
      * Самое интересное и спорное место всей реализации.
      * Нам нужно отслеживать свежесть кешей. Сами по себе они сбрасываются через опередённое время (время жизни кеша).
      * Но это время достаточно велико и, если мы сейчас, например, правим код, то нам некогда ждать, пока всё само сабой обновится.
      * 
      * Кеши валидируются через свои, so called, "подписи".
      * Например - структура проекта (строка навигации) зависит от кол-ва постов в каждом разделе, но при этом если какой-либо пост изменится, то
      * на подпись кеша для навигации это никак не повлияет, а ведь в посте мог измениться анонс, например.
      * 
      * Всё крутится вокруг изменения сущностей фолдингов. При изменении сущности будет сброшен кеш, который от этого фолдинга зависит.
      * Весь вопрос в том - как отслеживать эти изменения?.. Единственное решение - пробегать по всем фолдингам и выполнять checkAllEntityChanged.
      * Решение это довольно дорогостоящее. Даже если сущность не изменилась и кеш не будет перестроен, мы вынуждены выполнить очень много действий.
      * 
      * Есть два варинта для обеспечения "свежести" кешей:
      * 
      * Вариант №1.
      * Каждый раз при запросе кеша выполнять checkAllEntityChanged для фолдингов, от которых зависит запрашеваемая группа кешей.
      * Это нам ВСЕГДА обеспечит свежесть всех кешей, но данная операция является довольно тяжёлой.
      * 
      * Вариант №2.
      * Выполнять проверку checkAllEntityChanged для всех фолдингов, но так как это довольно дорого - делать это не каждый раз, а с определённой периодичностью.
      * Это также обеспечивает свежесть кешей, но операция - очень тяжёлая, поэтому её нельзя выполнять каждый раз.
      * В идеале её вообще должен выполнять внешний процесс, запускаемый раз в EXTERNAL_PROCESS_CALL_DELAY минут.
      * Будем эмулировать его работу посредством класса ExternalProcess.
      * В продакшене будет работать второй вариант - там частота обновлений кешей не так важна.
      */
     $this->validateGroup($group);
     PsProfiler::inst(__CLASS__)->start('LOAD from cache');
     $CACHED = $this->CACHELITE->get($id, $group);
     PsProfiler::inst(__CLASS__)->stop();
     if (!$CACHED) {
         $this->LOGGER->info("Информация по ключу '{$cacheId}' не найдена в кеше");
         return null;
     }
     if (!is_array($CACHED)) {
         $this->LOGGER->info("Информация по ключу '{$cacheId}' найдена в хранилище, но не является массивом. Чистим...");
         $this->CACHELITE->remove($id, $group);
         return null;
     }
     if (!array_has_all_keys(array('data', 'sign'), $CACHED)) {
         $this->LOGGER->info("Информация по ключу '{$cacheId}' найдена в хранилище, но отсутствует параметр sign или data. Чистим...");
         $this->CACHELITE->remove($id, $group);
         return null;
     }
     if ($CACHED['sign'] != $sign) {
         $this->LOGGER->info("Информация по ключу '{$cacheId}' найдена в хранилище, но старая и новая подписи не совпадают: [{}]!=[{}]. Чистим...", $CACHED['sign'], $sign);
         $this->CACHELITE->remove($id, $group);
         return null;
     }
     $MUST_BE_ARRAY = is_array($REQUIRED_KEYS);
     $REQUIRED_KEYS = to_array($REQUIRED_KEYS);
     if ($MUST_BE_ARRAY || !empty($REQUIRED_KEYS)) {
         //Если нам переданы ключи для проверки, значит необходимо убедиться, что сами данные являются массивом
         if (!is_array($CACHED['data'])) {
             $this->LOGGER->info("Информация по ключу '{$cacheId}' найдена в хранилище, но не является массивом. Чистим...");
             $this->CACHELITE->remove($id, $group);
             return null;
         }
         foreach ($REQUIRED_KEYS as $key) {
             if (!array_key_exists($key, $CACHED['data'])) {
                 $this->LOGGER->info("Информация по ключу '{$cacheId}' найдена, но в данных отсутствует обязательный ключ [{$key}]. Чистим...");
                 $this->CACHELITE->remove($id, $group);
                 return null;
             }
         }
     }
     $this->LOGGER->info("Информация по ключу '{$cacheId}' найдена в хранилище");
     //Перенесём данные в локальный кеш для быстрого доступа
     return array_get_value('data', $this->CACHE->set($cacheId, $CACHED));
 }
开发者ID:ilivanoff,项目名称:www,代码行数:86,代码来源:PSCache.php

示例9: cleanup

 function cleanup()
 {
     $cache = $this->get_config('cache');
     if ($this->get_config('cache') == 'no') {
         if (@(include_once "Cache/Lite.php")) {
             $cache_obj = new Cache_Lite(array('cacheDir' => $serendipity['serendipityPath'] . 'templates_c/', 'automaticSerialization' => true));
             @$cache_obj->remove('linklist_html');
             @$cache_obj->remove('linklist_xmlhash');
         }
     }
     $setdata = array('display' => $this->get_config('display'), 'category' => $this->get_config('category'), 'style' => $this->get_config('style'), 'cache' => $cache);
     if ($this->get_config('directxml') != 'true') {
         $blah = $this->get_config('display');
         if (!isset($blah)) {
             $this->set_config('display', 'category');
         }
         $setdata['enabled'] = 'true';
         $setdata['links'] = $this->get_config('links');
     } else {
         $setdata['enabled'] = 'false';
     }
     serendipity_plugin_api::hook_event('plugins_linklist_conf', $setdata);
     if ($setdata['changed'] == 'true') {
         $this->set_config('links', $setdata['links']);
     }
 }
开发者ID:sqall01,项目名称:additional_plugins,代码行数:26,代码来源:serendipity_plugin_linklist.php

示例10: remove

 /**
  * A method to remove a cache file
  *
  * @param string $cacheName The name of the original file
  * @return bool True if the cache was deleted
  */
 function remove($cacheName)
 {
     $id = $this->_getId($cacheName);
     $group = $this->_getGroup($cacheName);
     return $this->oCache->remove($id, $group);
 }
开发者ID:Spark-Eleven,项目名称:revive-adserver,代码行数:12,代码来源:PermanentCache.php

示例11: removeFromCache

 public function removeFromCache($id, $group)
 {
     $this->IMPL->remove($id, $group);
 }
开发者ID:ilivanoff,项目名称:ps-sdk-dev,代码行数:4,代码来源:PSCacheEngineFile.php

示例12: clear

 function clear()
 {
     return $this->oCache->remove($this->id, $this->group);
 }
开发者ID:villos,项目名称:tree_admin,代码行数:4,代码来源:Cache.php

示例13: removeCache

 function removeCache()
 {
     $this->oCache->remove($this->cacheId, $this->groupId);
 }
开发者ID:villos,项目名称:tree_admin,代码行数:4,代码来源:SimpleFunctionCache.php

示例14: time

<?php

//Guardar IMG
session_start();
$username = $_SESSION['username'];
require "config.php";
$filefile = $_FILES['foto']['name'];
$urrl = "local_img/" . $filefile;
$time = time();
$id = $_GET['id'];
//Borra la cache de las fotos:
require_once "cachelite/Lite.php";
$options = array("cacheDir" => "cachelite/", "lifeTime" => 0);
$objCache = new Cache_Lite($options);
$objCache->remove("last_img");
//
if ($urrl != "local_img/") {
    $ran = rand(1, 999999);
    $urrl = "local_img/" . $ran . $filefile;
}
//echo($filefile.$urrl);
echo "Guardando...";
if (is_uploaded_file($_FILES['foto']['tmp_name'])) {
    //copy($HTTP_POST_FILES['filename']['foto'], $HTTP_POST_FILES['filename']['tmp_name']);
    copy($_FILES['foto']['tmp_name'], $urrl);
    $subio = true;
}
mysql_query("INSERT INTO  `markers_foto` (\n`id` ,\n`local_id` ,\n`image` ,\n`username` ,\n`timestamp`\n)\nVALUES (\nNULL ,  '" . $id . "',  '" . $urrl . "',  '" . $username . "',  '" . $time . "'\n);");
$ver_todoo = mysql_query("SELECT * FROM markers WHERE id = '{$id}' ;");
while ($prodroww = mysql_fetch_array($ver_todoo)) {
    $iddd = $prodroww['id'];
开发者ID:josemy,项目名称:gogus-qcms,代码行数:31,代码来源:guardar_img.php

示例15: isset

         }
     }
     mb_convert_variables('CP932', 'UTF-8', $search_result);
     $cache->save($search_result, $cache_id_result, $cache_group_result);
 }
 // 検索結果キャッシュのガーベッジコレクション
 if (mt_rand(0, 99) == 0) {
     P2Util::garbageCollection($cache_options['cacheDir'], $cache_options['lifeTime'], 'cache_' . $cache_group_result);
     P2Util::garbageCollection($cache_options['cacheDir'], $cache_options['lifeTime'], 'cache_' . $cache_group_profile);
 }
 $errors = isset($search_result['errors']) ? $search_result['errors'] : null;
 $threads = isset($search_result['threads']) ? $search_result['threads'] : null;
 $profile = $search_profile['profile'];
 $modified = strtotime($search_profile['modified']);
 if ($errors) {
     $cache->remove($cache_id_result, $cache_group_result);
     $cache->remove($cache_id_profile, $cache_group_profile);
 } else {
     // 検索履歴を更新
     if ($_conf['expack.tgrep.recent_num'] > 0) {
         FileCtl::make_datafile($_conf['expack.tgrep.recent_file'], $_conf['expack.tgrep.file_perm']);
         $tgrep_recent_list = FileCtl::file_read_lines($_conf['expack.tgrep.recent_file'], FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
         if (!is_array($tgrep_recent_list)) {
             $tgrep_recent_list = array();
         }
         array_unshift($tgrep_recent_list, preg_replace('/[\\r\\n\\t]/', ' ', trim($_GET['Q'])));
         $tgrep_recent_list = array_unique($tgrep_recent_list);
         while (count($tgrep_recent_list) > $_conf['expack.tgrep.recent_num']) {
             array_pop($tgrep_recent_list);
         }
         $tgrep_recent_data = implode("\n", $tgrep_recent_list) . "\n";
开发者ID:unpush,项目名称:p2-php,代码行数:31,代码来源:tgrepc.php


注:本文中的Cache_Lite::remove方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。