public static function getuserbyid($id){ $key = sprintf(%s_%s,__method__, $id); $mdkey = md5($key); var_dump(cache::tags(self::cache_tag)->has($mdkey));die(); if(cache::tags(self::cache_tag)->has($mdkey)) { echo 'has cache'; return cache::tags(self::cache_tag)->get($mdkey); } $user = user::where('uid',$id)->first(); cache::tags(self::cache_tag)->put($mdkey, $user, self::cache_time); return $wifi;}
在repository中的has方法定义/** * determine if an item exists in the cache. * * @param string $key * @return bool */public function has($key){ return ! is_null($this->get($key));}
如果缓存保存的值时null时,has都会返回false,如何区分用户保存的null和cache无保存时的null呢?
回复内容: public static function getuserbyid($id){ $key = sprintf(%s_%s,__method__, $id); $mdkey = md5($key); var_dump(cache::tags(self::cache_tag)->has($mdkey));die(); if(cache::tags(self::cache_tag)->has($mdkey)) { echo 'has cache'; return cache::tags(self::cache_tag)->get($mdkey); } $user = user::where('uid',$id)->first(); cache::tags(self::cache_tag)->put($mdkey, $user, self::cache_time); return $wifi;}
在repository中的has方法定义/** * determine if an item exists in the cache. * * @param string $key * @return bool */public function has($key){ return ! is_null($this->get($key));}
如果缓存保存的值时null时,has都会返回false,如何区分用户保存的null和cache无保存时的null呢?
用\0之类的占位符代替null