- mysql -utravis test < database.sql
- echo "extension=redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
- echo "extension=memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
+ - echo "extension=memcache.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
\ No newline at end of file
public function add($key, $value, $ttl = Cache::FIVE_MINUTES)
{
$cachekey = $this->getCacheKey($key);
- return $this->memcache->add($cachekey, $value, $ttl);
+ return $this->memcache->add($cachekey, serialize($value), MEMCACHE_COMPRESSED, $ttl);
}
}
--- /dev/null
+<?php
+
+
+namespace Friendica\Test\src\Core\Cache;
+
+
+use Friendica\Core\Cache\CacheDriverFactory;
+
+class MemcachedCacheDriverTest extends CacheTest
+{
+ /**
+ * @var \Friendica\Core\Cache\IMemoryCacheDriver
+ */
+ private $cache;
+
+ protected function getInstance()
+ {
+ if (class_exists('Memcache')) {
+ try {
+ $this->cache = CacheDriverFactory::create('memcache');
+ } catch (\Exception $exception) {
+ print "Memcache - TestCase failed: " . $exception->getMessage();
+ throw new \Exception();
+ }
+ return $this->cache;
+ } else {
+ $this->markTestSkipped('Memcache driver isn\'t available');
+ return null;
+ }
+ }
+
+ public function tearDown()
+ {
+ if (class_exists('Memcache')) {
+ $this->cache->clear();
+ }
+ parent::tearDown();
+ }
+}
--- /dev/null
+<?php
+
+
+namespace Friendica\Test\src\Core\Lock;
+
+
+use Friendica\Core\Cache\CacheDriverFactory;
+use Friendica\Core\Lock\CacheLockDriver;
+
+class MemcacheCacheLockDriverTest extends LockTest
+{
+ /**
+ * @var \Friendica\Core\Cache\IMemoryCacheDriver
+ */
+ private $cache;
+
+ protected function getInstance()
+ {
+ if (class_exists('Memcache')) {
+ try {
+ $this->cache = CacheDriverFactory::create('memcache');
+ } catch (\Exception $exception) {
+ print "Memcache - TestCase failed: " . $exception->getMessage();
+ throw new \Exception();
+ }
+ return new CacheLockDriver($this->cache);
+ } else {
+ $this->markTestSkipped('Memcache driver isn\'t available');
+ return null;
+ }
+ }
+
+ public function tearDown()
+ {
+ if (class_exists('Memcache')) {
+ $this->cache->clear();
+ }
+ parent::tearDown();
+ }
+}