Change. Reuse same esl connection to send cache event and command.
Fix. Implicitly close esl connection after do cache command.
This commit is contained in:
parent
3e09e32390
commit
8ac7d708d3
|
|
@ -33,17 +33,23 @@ class cache {
|
||||||
* @var string $value string to be cached
|
* @var string $value string to be cached
|
||||||
*/
|
*/
|
||||||
public function set($key, $value) {
|
public function set($key, $value) {
|
||||||
|
// connect to event socket
|
||||||
|
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
||||||
|
if ($fp === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//send a custom event
|
//send a custom event
|
||||||
|
|
||||||
//run the memcache
|
//run the memcache
|
||||||
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
|
||||||
if ($fp) {
|
|
||||||
$command = "memcache set ".$key." ".$value;
|
$command = "memcache set ".$key." ".$value;
|
||||||
return event_socket_request($fp, 'api '.$command);
|
$result = event_socket_request($fp, 'api '.$command);
|
||||||
}
|
|
||||||
else {
|
//close event socket
|
||||||
return false;
|
fclose($fp);
|
||||||
}
|
|
||||||
|
// return result
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -51,17 +57,23 @@ class cache {
|
||||||
* @var string $key cache id
|
* @var string $key cache id
|
||||||
*/
|
*/
|
||||||
public function get($key) {
|
public function get($key) {
|
||||||
|
// connect to event socket
|
||||||
|
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
||||||
|
if ($fp === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//send a custom event
|
//send a custom event
|
||||||
|
|
||||||
//run the memcache
|
//run the memcache
|
||||||
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
|
||||||
if ($fp) {
|
|
||||||
$command = "memcache get ".$key;
|
$command = "memcache get ".$key;
|
||||||
return event_socket_request($fp, 'api '.$command);
|
$result = event_socket_request($fp, 'api '.$command);
|
||||||
}
|
|
||||||
else {
|
//close event socket
|
||||||
return false;
|
fclose($fp);
|
||||||
}
|
|
||||||
|
// return result
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -69,52 +81,58 @@ class cache {
|
||||||
* @var string $key cache id
|
* @var string $key cache id
|
||||||
*/
|
*/
|
||||||
public function delete($key) {
|
public function delete($key) {
|
||||||
//send a custom event
|
// connect to event socket
|
||||||
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
||||||
if ($fp) {
|
if ($fp === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//send a custom event
|
||||||
$event = "sendevent CUSTOM\n";
|
$event = "sendevent CUSTOM\n";
|
||||||
$event .= "Event-Name: MEMCACHE\n";
|
$event .= "Event-Name: MEMCACHE\n";
|
||||||
$event .= "Event-Subclass: delete\n";
|
$event .= "Event-Subclass: delete\n";
|
||||||
$event .= "API-Command: memcache\n";
|
$event .= "API-Command: memcache\n";
|
||||||
$event .= "API-Command-Argument: delete ".$key."\n";
|
$event .= "API-Command-Argument: delete ".$key."\n";
|
||||||
echo event_socket_request($fp, $event);
|
event_socket_request($fp, $event);
|
||||||
}
|
|
||||||
|
|
||||||
//run the memcache
|
//run the memcache
|
||||||
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
|
||||||
if ($fp) {
|
|
||||||
$command = "memcache delete ".$key;
|
$command = "memcache delete ".$key;
|
||||||
return event_socket_request($fp, 'api '.$command);
|
$result = event_socket_request($fp, 'api '.$command);
|
||||||
}
|
|
||||||
else {
|
//close event socket
|
||||||
return false;
|
fclose($fp);
|
||||||
}
|
|
||||||
|
// return result
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete the entire cache
|
* Delete the entire cache
|
||||||
*/
|
*/
|
||||||
public function flush() {
|
public function flush() {
|
||||||
//send a custom event
|
// connect to event socket
|
||||||
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
||||||
if ($fp) {
|
if ($fp === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//send a custom event
|
||||||
$event = "sendevent CUSTOM\n";
|
$event = "sendevent CUSTOM\n";
|
||||||
$event .= "Event-Name: MEMCACHE\n";
|
$event .= "Event-Name: MEMCACHE\n";
|
||||||
$event .= "Event-Subclass: flush\n";
|
$event .= "Event-Subclass: flush\n";
|
||||||
$event .= "API-Command: memcache\n";
|
$event .= "API-Command: memcache\n";
|
||||||
$event .= "API-Command-Argument: flush\n";
|
$event .= "API-Command-Argument: flush\n";
|
||||||
echo event_socket_request($fp, $event);
|
event_socket_request($fp, $event);
|
||||||
}
|
|
||||||
|
|
||||||
//run the memcache
|
//run the memcache
|
||||||
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
|
||||||
if ($fp) {
|
|
||||||
$command = "memcache flush";
|
$command = "memcache flush";
|
||||||
return event_socket_request($fp, 'api '.$command);
|
$result = event_socket_request($fp, 'api '.$command);
|
||||||
}
|
|
||||||
else {
|
//close event socket
|
||||||
return false;
|
fclose($fp);
|
||||||
}
|
|
||||||
|
// return result
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue