Skip to content

* redis cache peer simple implementation, based on Memcached CachePeer #62

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 7 commits into from

Conversation

crazedr0m
Copy link
Contributor

Сабж )

@dovg
Copy link
Member

dovg commented Jan 12, 2012

Подозреваю, что в дифф попали изменения от предыдущего pull request

@crazedr0m
Copy link
Contributor Author

есть немного ) по идее должны "уйти" после вмердживания watermark патча

@crazedr0m
Copy link
Contributor Author

сделаю pull request заново

@crazedr0m crazedr0m closed this Jan 13, 2012
// see $this->store() check type need
// $packed = serialize($data);
$packed = $data;

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вот я не понял, почему в store() куча проверок, а в append мы сериализуем все подряд

Для него вообще не должно было работать. у меня и не работало.
$cache->set('a', 'a');
$this->assertEquals($cache->get('a'), 'a');
$cache->append('a', 'a');
$this->assertEquals($cache->get('a'), 'aa');

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

а что в ассерте в этом примере получается?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

я решил доработать тесты, там еще кое-что выползает ) так что сначала доработаю тесты, а потом уже видно будет

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

окей, подождем

@crazedr0m
Copy link
Contributor Author

пока откладывается до фиксов остальных кеш пиров

@ents
Copy link
Contributor

ents commented Apr 25, 2012

  1. Давайте переименуем класс в RedisCache (потому что есть готовое расширениеhttps://github.com/nicolasff/phpredis, которое предоставляет класс redis) и будут конфликты имен

  2. Почему бы не использовать готовый phpredis ? Разве не лучше сделать RedisCache как обертку над phpredis ? По аналогии с PeclMemcached

  3. Возможно имеет смысл сделать отдельную ветку кешей - NoSQLCache extends CachePeer. Потому что у многих NoSQL решений есть дополнительные возможность (работа со списками, множествами, etc), и хорошо бы их объединить интерфейсом

@crazedr0m
Copy link
Contributor Author

@ents 1. Давайте переименуем. Только там что-то мелькало про приставку Socket для Memcached ну и для этого заодно.
2. Можно использовать на здоровье. Обнаружил что уже существует как минимум 2 реализации только после того как дописал этот )
3. Наверное имеет смысл. Есть еще Tarantool Если я правильно понял, то кроме протокола мемкешед он еще и простой sql поддерживает. Вот куда его в БД или кеши? )

@ents
Copy link
Contributor

ents commented Apr 25, 2012

@crazedr0m

  1. Поддерживаю имя RedisSocket и аналогичное для Memcached
  2. -
  3. Используем трейты ? :))) А вообще здесь напрашивается решение сделать интерфейс IMap (ICache, IDictionary?), заимплементить его в CachePeer, и в Tarantool

@AlexeyDsov
Copy link
Member

  1. SocketMemcached вот тут - Code clean & add SocketMemcached instead of Memcached #78, думаю его правильней будет замержить после Sequence cache Sequence cache #89
  2. Трейты использовать рановато.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants