conf писал(а):теги
Ага. Они самые. Точнее в первом cache они были группами.
Но теперь уже всё переделано, переписано и работает, как надо, и в $params нужды нет.
Модератор: phpBB2 - administrators
conf писал(а):теги
conf писал(а):serega писал(а):korchasa писал(а):serega писал(а):Хм, а может в cache2 все-таки ввести параметр $params. Но ttl все равно оставить?
Ты уже придумал применение?
Пусть CM-Z дасть пример параметра, кроме ttl
теги
korchasa писал(а):Бессмысленно, ибо все равно придется все вызовы исправлять.
function set($key, $value, $ttl [, $other_params])
conf писал(а):korchasa писал(а):Бессмысленно, ибо все равно придется все вызовы исправлять.
Можно хотя бы привести к общему стандарту
- Код: Выделить всё
function set($key, $value, $ttl [, $other_params])
а то taggableCache выбивается...
conf писал(а):Ну так что, проект заглох? Я бы хотел предложить свою помощь, только не знаю с чего здесь начать. Мой интерес в этом пакете - стабильная работа с тегами при использовании memcached.
-- changed order of $ttl and $tags_keys params in lmbTaggableCache::set() to comply other cache engines
-- added lmbTaggableCache::add() similar to set() function + test cases
-- contents of lmbCacheConnectionTest::tearDownAll() were moved to tearDown()
-- fixed useless slash replaces in LIMB_VAR_DIR
korchasa писал(а):hidrarg писал(а):
- Код: Выделить всё
MEMCACHED_BINARY="/usr/bin/memcached"
MEMUSAGE="64"
MEMCACHED_RUNAS="memcached"
MAXCONN="1024"
LISTENON=""
PORT="11211"
PIDBASE="/var/run/memcached/memcached"
MISC_OPTS=""
Все дефолтные.
Ты сейчас удивишься, но это не настройки memcached, это настройки того, кто его запустил. Сделай "ps aux | grep memcached".hidrarg писал(а):Да и дело не в этом. Если уж так мешает этот параметр, все равно необходимо сделать хотябы так:
return $this->_getMemcache()->delete($this->_resolveKey($key), 0);
Т.е. ты думаешь что delete($key) и delete($key, 0) ведут себя по разному? Судя по протоколу таки нет. Если описание протокола memcached неверно, то надо это отобразить тестом хотя бы. Тестом на протокол. http://code.sixapart.com/svn/memcached/ ... otocol.txthidrarg писал(а):UP: нет. Так делать тоже нельзя. Это снизит производительность memcache. Параметр нужен.
Что снизит производительность? То, что ключ не указан?
function testAddAfterDelete() {
$id = $this->_getUniqueId();
$this->assertTrue($this->cache->add($id, $v = 'value'));
$this->assertEqual($this->cache->get($id), $v);
$this->assertTrue($this->cache->delete($id));
$this->assertNull($this->cache->get($id));
$this->assertTrue($this->cache->add($id, $v = 'another value'));
$this->assertEqual($this->cache->get($id), $v);
}
conf@conf:~/limb/trunk/limb$ php runtests.php --include-path /home/conf/limb/incubator/ /home/conf/limb/incubator/limb/cache2/
=========== Group test in "/home/conf/limb/incubator/limb/cache2" ===========
1 of 16 done(lmbCacheApcConnectionTest)
2 of 16 done(lmbCacheDbConnectionTest)
3 of 16 done(lmbCacheFileConnectionTest)
4 of 16 done(lmbCacheFileConnectionWithoutSerializationTest)
1) at [/home/conf/limb/incubator/limb/cache2/tests/cases/drivers/lmbCacheMemcacheConnectionTest.class.php line 35]
in testAddAfterDelete
in lmbCacheMemcacheConnectionTest
in lmbCacheMemcacheConnectionTest.class.php
in Group test in "/home/conf/limb/incubator/limb/cache2/tests/cases/drivers"
in Group test in "/home/conf/limb/incubator/limb/cache2/tests/cases"
in Group test in "/home/conf/limb/incubator/limb/cache2/tests"
in Group test in "/home/conf/limb/incubator/limb/cache2"
2) Equal expectation fails as [NULL] does not match [String: another value] at [/home/conf/limb/incubator/limb/cache2/tests/cases/drivers/lmbCacheMemcacheConnectionTest.class.php line 37]
in testAddAfterDelete
in lmbCacheMemcacheConnectionTest
in lmbCacheMemcacheConnectionTest.class.php
in Group test in "/home/conf/limb/incubator/limb/cache2/tests/cases/drivers"
in Group test in "/home/conf/limb/incubator/limb/cache2/tests/cases"
in Group test in "/home/conf/limb/incubator/limb/cache2/tests"
in Group test in "/home/conf/limb/incubator/limb/cache2"
3) at [/home/conf/limb/incubator/limb/cache2/tests/cases/drivers/lmbCacheConnectionTest.class.php line 257]
in testUnlock
in lmbCacheMemcacheConnectionTest
in lmbCacheMemcacheConnectionTest.class.php
in Group test in "/home/conf/limb/incubator/limb/cache2/tests/cases/drivers"
in Group test in "/home/conf/limb/incubator/limb/cache2/tests/cases"
in Group test in "/home/conf/limb/incubator/limb/cache2/tests"
in Group test in "/home/conf/limb/incubator/limb/cache2"
5 of 16 done(lmbCacheMemcacheConnectionTest)
6 of 16 done(lmbCacheMemoryConnectionTest)
7 of 16 done(lmbCacheMemoryConnectionWithoutSerializationTest)
8 of 16 done(lmbCacheSessionConnectionTest)
9 of 16 done(lmbCacheSessionConnectionWithoutSerializationTest)
10 of 16 done(lmbCacheLogFileTest)
11 of 16 done(lmbCacheLogMemoryTest)
12 of 16 done(lmbCacheFactoryTest)
13 of 16 done(lmbCacheToolkitTest)
14 of 16 done(lmbMintCacheTest)
15 of 16 done(lmbTaggableCacheTest)
16 of 16 done(CacheTagTest)
FAILURES!!!
Test cases run: 16/16, Passes: 417, Failures: 3, Exceptions: 0
Tests time: 49.956 sec.
Tests memory usage: 6.499 Mb.
=========== FAILED TESTS ===========
/home/conf/limb/incubator/limb/cache2/tests/cases/drivers/lmbCacheMemcacheConnectionTest.class.php:35
/home/conf/limb/incubator/limb/cache2/tests/cases/drivers/lmbCacheMemcacheConnectionTest.class.php:37
/home/conf/limb/incubator/limb/cache2/tests/cases/drivers/lmbCacheConnectionTest.class.php:257
=========== TESTS HAD ERRORS(see above) ===========
conf@conf:~/limb/trunk/limb$ apache2 -v && php -v && ps ax | grep memcached
Server version: Apache/2.2.9 (Ubuntu)
Server built: Sep 19 2008 13:43:21
PHP 5.2.6-2ubuntu4 with Suhosin-Patch 0.9.6.2 (cli) (built: Oct 14 2008 20:06:32)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Xdebug v2.0.3, Copyright (c) 2002-2007, by Derick Rethans
4833 ? S 0:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1
13362 pts/0 R+ 0:00 grep memcached
conf@conf:~/limb/trunk/limb$
function delete($key, $ttl = 0)
{
return $this->_getMemcache()->delete($this->_resolveKey($key), $ttl);
}
conf писал(а):PHP 5.2.6-2ubuntu4 with Suhosin-Patch 0.9.6.2 (cli) (built: Oct 14 2008 20:06:32)
korchasa писал(а):Давай тогда сделаем что-то типа:
- Код: Выделить всё
function delete($key, $ttl = 0)
{
return $this->_getMemcache()->delete($this->_resolveKey($key), $ttl);
}
Можешь прогнать? Боюсь, что логгеры отломаются.
function testTagCoincidesWithKey()
{
$this->assertTrue($this->cache->add($key = $this->_createId(), $value = 'value', null, $key));
$this->assertEqual($this->cache->get($key), $value);
}
conf@conf:~/limb/trunk$ ./runtests.php cache2
=========== Group test in "/home/conf/limb/trunk/cache2" ===========
1 of 15 done(lmbCacheApcConnectionTest)
2 of 15 done(lmbCacheDbConnectionTest)
3 of 15 done(lmbCacheFileConnectionTest)
4 of 15 done(lmbCacheFileConnectionWithoutSerializationTest)
5 of 15 done(lmbCacheMemcacheConnectionTest)
6 of 15 done(lmbCacheMemoryConnectionTest)
7 of 15 done(lmbCacheMemoryConnectionWithoutSerializationTest)
8 of 15 done(lmbCacheSessionConnectionTest)
9 of 15 done(lmbCacheSessionConnectionWithoutSerializationTest)
10 of 15 done(lmbCacheLogFileTest)
11 of 15 done(lmbCacheLogMemoryTest)
12 of 15 done(lmbCacheFactoryTest)
13 of 15 done(lmbCacheToolkitTest)
14 of 15 done(lmbMintCacheTest)
1) at [/home/conf/limb/trunk/cache2/tests/cases/lmbTaggableCacheTest.class.php line 38]
in testTagCoincidesWithKey
in lmbTaggableCacheTest
in lmbTaggableCacheTest.class.php
in Group test in "/home/conf/limb/trunk/cache2/tests/cases"
in Group test in "/home/conf/limb/trunk/cache2/tests"
in Group test in "/home/conf/limb/trunk/cache2"
E_WARNING: array_keys(): The first argument should be an array in /home/conf/limb/trunk/cache2/src/lmbTaggableCache.class.php on line 32
E_WARNING: Invalid argument supplied for foreach() in /home/conf/limb/trunk/cache2/src/lmbTaggableCache.class.php on line 34
2) Equal expectation fails as [NULL] does not match [String: value] at [/home/conf/limb/trunk/cache2/tests/cases/lmbTaggableCacheTest.class.php line 39]
in testTagCoincidesWithKey
in lmbTaggableCacheTest
in lmbTaggableCacheTest.class.php
in Group test in "/home/conf/limb/trunk/cache2/tests/cases"
in Group test in "/home/conf/limb/trunk/cache2/tests"
in Group test in "/home/conf/limb/trunk/cache2"
Exception 1!
Unexpected PHP error [array_keys(): The first argument should be an array] severity [E_WARNING] in [/home/conf/limb/trunk/cache2/src/lmbTaggableCache.class.php line 32]
in testTagCoincidesWithKey
in lmbTaggableCacheTest
in lmbTaggableCacheTest.class.php
in Group test in "/home/conf/limb/trunk/cache2/tests/cases"
in Group test in "/home/conf/limb/trunk/cache2/tests"
in Group test in "/home/conf/limb/trunk/cache2"
Exception 2!
Unexpected PHP error [Invalid argument supplied for foreach()] severity [E_WARNING] in [/home/conf/limb/trunk/cache2/src/lmbTaggableCache.class.php line 34]
in testTagCoincidesWithKey
in lmbTaggableCacheTest
in lmbTaggableCacheTest.class.php
in Group test in "/home/conf/limb/trunk/cache2/tests/cases"
in Group test in "/home/conf/limb/trunk/cache2/tests"
in Group test in "/home/conf/limb/trunk/cache2"
15 of 15 done(lmbTaggableCacheTest)
FAILURES!!!
Test cases run: 15/15, Passes: 402, Failures: 2, Exceptions: 2
Tests time: 47.381 sec.
Tests memory usage: 3.547 Mb.
=========== FAILED TESTS ===========
[FLR] /home/conf/limb/trunk/cache2/tests/cases/lmbTaggableCacheTest.class.php:38
[FLR] /home/conf/limb/trunk/cache2/tests/cases/lmbTaggableCacheTest.class.php:39
[ERR] /home/conf/limb/trunk/cache2/src/lmbTaggableCache.class.php:32
[ERR] /home/conf/limb/trunk/cache2/src/lmbTaggableCache.class.php:34
=========== TESTS HAD ERRORS(see above) ===========
conf писал(а):Нашел еще баг в реализации тегов: если ключ кэша совпадает с тегом, все
korchasa писал(а):conf писал(а):Нашел еще баг в реализации тегов: если ключ кэша совпадает с тегом, все
Поправил
function setUp()
{
$this->cache = new lmbTaggableCache(lmbCacheFactory::createConnection('memcache://localhost/'));
}
conf@conf:~/limb/trunk$ ./runtests.php cache2
=========== Group test in "/home/conf/limb/trunk/cache2" ===========
1 of 15 done(lmbCacheApcConnectionTest)
2 of 15 done(lmbCacheDbConnectionTest)
3 of 15 done(lmbCacheFileConnectionTest)
4 of 15 done(lmbCacheFileConnectionWithoutSerializationTest)
5 of 15 done(lmbCacheMemcacheConnectionTest)
6 of 15 done(lmbCacheMemoryConnectionTest)
7 of 15 done(lmbCacheMemoryConnectionWithoutSerializationTest)
8 of 15 done(lmbCacheSessionConnectionTest)
9 of 15 done(lmbCacheSessionConnectionWithoutSerializationTest)
10 of 15 done(lmbCacheLogFileTest)
11 of 15 done(lmbCacheLogMemoryTest)
12 of 15 done(lmbCacheFactoryTest)
13 of 15 done(lmbCacheToolkitTest)
14 of 15 done(lmbMintCacheTest)
1) [String: value] should be null at [/home/conf/limb/trunk/cache2/tests/cases/lmbTaggableCacheTest.class.php line 43]
in testDeleteByTags_SingleTag
in lmbTaggableCacheTest
in lmbTaggableCacheTest.class.php
in Group test in "/home/conf/limb/trunk/cache2/tests/cases"
in Group test in "/home/conf/limb/trunk/cache2/tests"
in Group test in "/home/conf/limb/trunk/cache2"
2) [String: value] should be null at [/home/conf/limb/trunk/cache2/tests/cases/lmbTaggableCacheTest.class.php line 52]
in testDeleteByTags_MultipleTag
in lmbTaggableCacheTest
in lmbTaggableCacheTest.class.php
in Group test in "/home/conf/limb/trunk/cache2/tests/cases"
in Group test in "/home/conf/limb/trunk/cache2/tests"
in Group test in "/home/conf/limb/trunk/cache2"
15 of 15 done(lmbTaggableCacheTest)
FAILURES!!!
Test cases run: 15/15, Passes: 402, Failures: 2, Exceptions: 0
Tests time: 52.59 sec.
Tests memory usage: 3.55 Mb.
=========== FAILED TESTS ===========
[FLR] /home/conf/limb/trunk/cache2/tests/cases/lmbTaggableCacheTest.class.php:43
[FLR] /home/conf/limb/trunk/cache2/tests/cases/lmbTaggableCacheTest.class.php:52
=========== TESTS HAD ERRORS(see above) ===========
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1