diff options
Diffstat (limited to 'plugins/MemcachePlugin.php')
-rw-r--r-- | plugins/MemcachePlugin.php | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/plugins/MemcachePlugin.php b/plugins/MemcachePlugin.php index 998766313..5f93e9a83 100644 --- a/plugins/MemcachePlugin.php +++ b/plugins/MemcachePlugin.php @@ -57,6 +57,8 @@ class MemcachePlugin extends Plugin public $compressThreshold = 20480; public $compressMinSaving = 0.2; + public $persistent = null; + /** * Initialize the plugin * @@ -67,6 +69,9 @@ class MemcachePlugin extends Plugin function onInitializePlugin() { + if (is_null($this->persistent)) { + $this->persistent = (php_sapi_name() == 'cli') ? false : true; + } $this->_ensureConn(); return true; } @@ -149,15 +154,15 @@ class MemcachePlugin extends Plugin $port = 11211; } - $this->_conn->addServer($host, $port); + $this->_conn->addServer($host, $port, $this->persistent); } } else { - $this->_conn->addServer($this->servers); + $this->_conn->addServer($this->servers, $this->persistent); list($host, $port) = explode(';', $this->servers); if (empty($port)) { $port = 11211; } - $this->_conn->addServer($host, $port); + $this->_conn->addServer($host, $port, $this->persistent); } // Compress items stored in the cache if they're over threshold in size @@ -171,5 +176,16 @@ class MemcachePlugin extends Plugin $this->compressMinSaving); } } + + function onPluginVersion(&$versions) + { + $versions[] = array('name' => 'Memcache', + 'version' => STATUSNET_VERSION, + 'author' => 'Evan Prodromou, Craig Andrews', + 'homepage' => 'http://status.net/wiki/Plugin:Memcache', + 'rawdescription' => + _m('Use <a href="http://memcached.org/">Memcached</a> to cache query results.')); + return true; + } } |