cate_id.auto_cache.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. class cate_id_auto_cache extends auto_cache{
  3. public function load($param)
  4. {
  5. $id = intval($param['id']);
  6. $key = "cate:".$id;
  7. $cate = $GLOBALS['cache']->get($key,true);
  8. $key_bf = $this->key.'_bf';
  9. if ($cate === false) {
  10. $is_ok = $GLOBALS['cache']->set_lock($this->key);
  11. if(!$is_ok){
  12. $cate = $GLOBALS['cache']->get($key_bf,true);
  13. }else{
  14. $sql = "select id,user_id,image,url,title,`desc`,num from ".DB_PREFIX."video_cate where id=".$id;
  15. $cate = $GLOBALS['db']->getAll($sql,true,true);
  16. if ($cate['url'] != '' && $cate['image'] != ''){
  17. $banner = array();
  18. $banner['type'] = 0;
  19. $banner['url'] = $cate['url'];
  20. $banner['image'] = get_spec_image($cate['image']);
  21. $cate['banner'][] = $banner;
  22. if ($cate['user_id'] > 0){
  23. $sql = "select head_image from ".DB_PREFIX."user where id =".$cate['user_id'];
  24. $head_image = $GLOBALS['db']->getAll($sql,true,true);
  25. }
  26. $cate['head_image'] = get_spec_image($head_image);
  27. }
  28. $GLOBALS['cache']->set($key,$cate,60,true);
  29. $GLOBALS['cache']->set($key_bf, $cate, 86400, true);//备份
  30. //echo $this->key;
  31. }
  32. }
  33. return $cate;
  34. }
  35. public function rm($param)
  36. {
  37. $id = intval($param['id']);
  38. $key = "cate:".$id;
  39. $GLOBALS['cache']->rm($key);
  40. }
  41. public function clear_all($param)
  42. {
  43. $id = intval($param['id']);
  44. $key = "cate:".$id;
  45. $GLOBALS['cache']->rm($key);
  46. }
  47. }
  48. ?>