parking_centre)) return true; $centre = json_decode($parking->parking_centre, true); $redis = Redis::connection(); $area_id = $parking->area_id; $tag = Parking::REDIS_STOP_BIKE_SITES_TAG; if ((int)$parking->type === Parking::TYPE_NO_STOP_BIKE) { $tag = Parking::REDIS_BAN_STOP_BIKE_SITE_TAG; } $redis->geoadd($tag . "_{$area_id}", $centre[0], $centre[1], $parking->id); $redis->geoadd($tag . "_0", $centre[0], $centre[1], $parking->id); } public function updated(Parking $parking) { $redis = Redis::connection(); $tag = Parking::REDIS_STOP_BIKE_SITES_TAG; $area_id = $parking->area_id; if ((int)$parking->type === Parking::TYPE_NO_STOP_BIKE) { $tag = Parking::REDIS_BAN_STOP_BIKE_SITE_TAG; } if ((int)$parking->status === Parking::STATUS_OK) { $centre = json_decode($parking->parking_centre, true); $redis->geoadd($tag . "_{$area_id}", $centre[0], $centre[1], $parking->id); $redis->geoadd($tag . "_0", $centre[0], $centre[1], $parking->id); } else { $redis->zrem($tag . "_{$area_id}", [$parking->id]); $redis->zrem($tag . "_0", [$parking->id]); Cache::forget(Parking::REDIS_BAN_STOP_BIKE_SITE_TAG . $parking->id); } } public function deleted(Parking $parking) { $area_id = $parking->area_id; $redis = Redis::connection(); $tag = Parking::REDIS_STOP_BIKE_SITES_TAG; if ((int)$parking->type === Parking::TYPE_NO_STOP_BIKE) { $tag = Parking::REDIS_BAN_STOP_BIKE_SITE_TAG; } $redis->zrem($tag . "_{$area_id}", $parking->id); $redis->zrem($tag . "_0", $parking->id); Cache::forget(Parking::REDIS_BAN_STOP_BIKE_SITE_TAG . $parking->id); } }