Parcourir la source

添加删除商品相关缓存

tiams@foxmail.com il y a 9 ans
Parent
commit
da24eca9d3

+ 21 - 0
admin/control/cache.php

@@ -69,6 +69,15 @@ class cacheControl extends SystemControl
             // 首页
             Model('web_config')->getWebHtml('index', 1);
             delCacheFile('index');
+
+            // 删除商品相关数据
+            $cacher = Cache::getInstance('cacheredis');
+            $keys = $cacher->keys('goods*');
+            if(!empty($keys) && is_array($keys)){
+                foreach($keys as $key) {
+                    $cacher->del($key);
+                }
+            }
         } else {
             $todo = (array) $_POST['cache'];
 
@@ -108,6 +117,18 @@ class cacheControl extends SystemControl
                 dkcache('area_toplevelareas');  // 省级别缓存处理
                 dkcache('area_cityprovince');   // 市级别缓存处理
             }
+
+            // 删除商品相关数据
+            if (in_array('goods',$todo)) {
+                $cacher = Cache::getInstance('cacheredis');
+                $keys = $cacher->keys('goods*');
+                if(!empty($keys) && is_array($keys)){
+                    foreach($keys as $key) {
+                        $cacher->del($key);
+                    }
+                }
+            }
+
         }
 
         $this->log(L('cache_cls_operate'));

+ 1 - 0
admin/language/zh/cache.php

@@ -22,4 +22,5 @@ $lang['cache_cls_home_goods']	= '手机首页商品缓存';
 $lang['cache_cls_bonus']	    = '手机红包相关缓存';
 $lang['cache_cls_specials']	    = '手机专题活动相关缓存';
 $lang['cache_cls_discovery']	= '手机发现页相关缓存';
+$lang['cache_cls_goods']	    = '商品相关缓存';
 $lang['cache_cls_ok']			= '更新成功';

+ 1 - 0
admin/language/zh_cn/cache.php

@@ -22,4 +22,5 @@ $lang['cache_cls_home_goods']	= '手机首页商品缓存';
 $lang['cache_cls_bonus']	    = '手机红包相关缓存';
 $lang['cache_cls_specials']	    = '手机专题活动相关缓存';
 $lang['cache_cls_discovery']	= '手机发现页相关缓存';
+$lang['cache_cls_goods']	    = '商品相关缓存';
 $lang['cache_cls_ok']			= '更新成功';

+ 5 - 0
admin/templates/default/cache.clear.php

@@ -116,6 +116,11 @@
                               <input type="checkbox" name="cache[]" id="specials" value="bonus" >
                               &nbsp;<?php echo $lang['cache_cls_specials']?></label>
                       </li>
+                          <li class="left w18pre">
+                              <label>
+                                  <input type="checkbox" name="cache[]" id="specials" value="bonus" >
+                                  &nbsp;<?php echo $lang['cache_cls_goods']?></label>
+                          </li>
                       <li class="left w18pre">
                           <label>
                               <input type="checkbox" name="cache[]" id="discovery" value="discovery" >

+ 16 - 0
core/framework/cache/cache.redis.php

@@ -152,4 +152,20 @@ class CacheRedis extends Cache {
 	private function _key($str) {
 		return $this->prefix.$this->type.$str;
 	}
+
+    public function keys($key = '') {
+        $this->init_master();
+
+        if(!isset($key) || empty($key)) {
+            $key = '*';
+        }
+
+        return $this->handler->keys($this->_key($key));
+    }
+
+    public function del($key){
+        $this->init_master();
+        if (!$this->enable) return false;
+        return $this->handler->delete($key);
+    }
 }