summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/Memcached_DataObject.php15
-rw-r--r--classes/Notice.php4
-rw-r--r--classes/User.php5
-rw-r--r--lib/util.php22
4 files changed, 26 insertions, 20 deletions
diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php
index 7ca2c7db2..84529ce9a 100644
--- a/classes/Memcached_DataObject.php
+++ b/classes/Memcached_DataObject.php
@@ -69,20 +69,7 @@ class Memcached_DataObject extends DB_DataObject
}
static function memcache() {
- if (!common_config('memcached', 'enabled')) {
- return NULL;
- } else {
- $cache = new Memcache();
- $servers = common_config('memcached', 'server');
- if (is_array($servers)) {
- foreach($servers as $server) {
- $cache->addServer($server);
- }
- } else {
- $cache->addServer($servers);
- }
- return $cache;
- }
+ return common_memcache();
}
static function cacheKey($cls, $k, $v) {
diff --git a/classes/Notice.php b/classes/Notice.php
index f3debe742..b42a8726e 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -125,8 +125,8 @@ class Notice extends Memcached_DataObject
}
function blowSubsCache() {
- $cache = new Memcache();
- if ($cache->connect(common_config('memcached', 'server'), common_config('memcached', 'port'))) {
+ $cache = common_memcache();
+ if ($cache) {
$user = new User();
$user->query('SELECT id ' .
diff --git a/classes/User.php b/classes/User.php
index 94fcff9c8..de260035a 100644
--- a/classes/User.php
+++ b/classes/User.php
@@ -196,10 +196,9 @@ class User extends Memcached_DataObject
function noticesWithFriendsWindow() {
- $cache = new Memcache();
- $res = $cache->connect(common_config('memcached', 'server'), common_config('memcached', 'port'));
+ $cache = common_memcache();
- if (!$res) {
+ if (!$cache) {
return NULL;
}
diff --git a/lib/util.php b/lib/util.php
index 621fdc137..20fe4ced6 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -1727,4 +1727,24 @@ function common_message_form($content, $user, $to) {
common_element_end('p');
common_element_end('form');
-} \ No newline at end of file
+}
+
+function common_memcache() {
+ static $cache = NULL;
+ if (!common_config('memcached', 'enabled')) {
+ return NULL;
+ } else {
+ if (!$cache) {
+ $cache = new Memcache();
+ $servers = common_config('memcached', 'server');
+ if (is_array($servers)) {
+ foreach($servers as $server) {
+ $cache->addServer($server);
+ }
+ } else {
+ $cache->addServer($servers);
+ }
+ }
+ return $cache;
+ }
+}