diff options
author | Vasudev Kamath <kamathvasudev@gmail.com> | 2012-05-05 20:48:16 +0530 |
---|---|---|
committer | Vasudev Kamath <kamathvasudev@gmail.com> | 2012-05-05 20:48:16 +0530 |
commit | b5e857c0e7ccf4ef3d33e5b6d0a4325b693a8e80 (patch) | |
tree | 74234775d723e33378059f2fa45fa80e3bc6ac43 /include/cache.php | |
parent | 214ec91a3f2c5fec6cced93f669b3a9725f0e40a (diff) | |
parent | 8ae83201cf8f3c943972a8f246b7972aa640afb4 (diff) | |
download | volse-hubzilla-b5e857c0e7ccf4ef3d33e5b6d0a4325b693a8e80.tar.gz volse-hubzilla-b5e857c0e7ccf4ef3d33e5b6d0a4325b693a8e80.tar.bz2 volse-hubzilla-b5e857c0e7ccf4ef3d33e5b6d0a4325b693a8e80.zip |
Merge branch 'master' of git://github.com/friendica/friendica
Diffstat (limited to 'include/cache.php')
-rw-r--r-- | include/cache.php | 42 |
1 files changed, 30 insertions, 12 deletions
diff --git a/include/cache.php b/include/cache.php index 3c8a3f713..360c4acbd 100644 --- a/include/cache.php +++ b/include/cache.php @@ -14,22 +14,40 @@ } public static function set($key,$value) { - $r = q("SELECT * FROM `cache` WHERE `k`='%s' limit 1", - dbesc($key) - ); - if(count($r)) { - q("UPDATE `cache` SET `v` = '%s', `updated = '%s' WHERE `k` = '%s' limit 1", - dbesc($value), - dbesc(datetime_convert()), - dbesc($key)); - } - else { - q("INSERT INTO `cache` (`k`,`v`,`updated`) VALUES ('%s','%s','%s')", + + q("REPLACE INTO `cache` (`k`,`v`,`updated`) VALUES ('%s','%s','%s')", dbesc($key), dbesc($value), dbesc(datetime_convert())); - } } + + +/* + * + * Leaving this legacy code temporaily to see how REPLACE fares + * as opposed to non-atomic checks when faced with fast moving key duplication. + * As a MySQL extension it isn't portable, but we're not yet very portable. + */ + +/* + * $r = q("SELECT * FROM `cache` WHERE `k`='%s' limit 1", + * dbesc($key) + * ); + * if(count($r)) { + * q("UPDATE `cache` SET `v` = '%s', `updated = '%s' WHERE `k` = '%s' limit 1", + * dbesc($value), + * dbesc(datetime_convert()), + * dbesc($key)); + * } + * else { + * q("INSERT INTO `cache` (`k`,`v`,`updated`) VALUES ('%s','%s','%s')", + * dbesc($key), + * dbesc($value), + * dbesc(datetime_convert())); + * } + * } + */ + public static function clear(){ q("DELETE FROM `cache` WHERE `updated` < '%s'", |