Beim Einrichten von Redis als Storage für phfastcache ist mir aufgefallen, dass php-redis (PHP7 auf Ubuntu 18.04 ) im Unterschied zu predis nicht Out-of-the-Box funktionierte.
Für alle, die das auch schon versucht haben, hier ein Tipp:
In xtc_db_queryCached lassen sich keine Key-Value-Paare im Cache setzen, weil die Konstante DB_CACHE_EXPIRE in xtc_db_queryCached nicht als Int sondern als String an die set-Methode übergeben wird:
// set cache
$cache->set($id, $records , DB_CACHE_EXPIRE);
php-Redis erwartet Int-Werte als Cache-Expire-Angabe sonst schlägt das Set fehl::
// set cache
$cache->set($id, $records , (int) DB_CACHE_EXPIRE);
Ich vermute, in PHP5 ist das anscheinend als Wert 0 interpretiert worden, so dass kein Expire gesetzt wurde. In PHP7 ist damit Schluss:
127
.0
.0
.1
:6379> setex foo
0 bar
(error
) ERR invalid expire
time in setex
127
.0
.0
.1
:6379> set foo bar ex
0(error
) ERR invalid expire
time in set
Gruß,
Fritz
Linkback: https://www.modified-shop.org/forum/index.php?topic=39238.0