tak jako string to vraci tusim do ted, coz zrovna u php nijak vetsinou nevadi, a to omezeni na 1MB je defaultni nastaveni, ale da se zmenit. Ale memcached je efektivni hlavne pro mensi data to znamena ze neni prilis vhodne to omezeni na 1MB nejak rapidne zvedat. Pokud je potreba cachovat obcas vetsi data a casteji mensi data, tak je lepsi mit memcached dvakrat, jednu pro mala data a druhou pro potencionalne velka data
No práve to pretypovanie nám výrazne vadilo. Prechádzali sme totiž z eAccelerator, ktorý ukončil podporu KEYS (tam všetko fungovalo tip-top) na niečo iné, čo bude dlhšiu dobu podporované. A práve to, že na niektorých distribúciach to vracalo string namiesto int a na niektorých to vracalo int, nás viedlo k tomu nájsť niečo alternatívne. Takže sme nakoniec urobili podporu aj pre REDIS, dokonca bol mierne rýchlejší ako memcached.
jj REDIS je fajn, taky jsem o nem uvazoval, ale zatim nebyl cas zjistovat zda by byl rychlejsi. Na druhou stranu jsme si v jazyku D napsal v podstate vlastni alternativu memcached, ktera byla taky nekolika nasobne rychlejsi jak memcached, tak si rikam jestli ji casem nedokoncim a nevydam pod nejakou svobodnou licenci.
To stim typem je zvlastni, nejspis to souviselo s typem pouzite serializace, protoze pokud je to jednou opravdu int, tak standardni php serializer to prevede imho i s typem, takze by to melo fungovat ok.
A neni to proste jen pouzitim jine ext?
http://code.google.com/p/memcached/wiki/PHPClientComparison
viz tabulka - posledni radek
Stores Numerics
pecl/memcache vs pecl/memcached
Converted to Strings vs Yes
No co si pamatam, tak viem, ze memcached na debiane to convertoval na str a na gentoo to nerobil. Tie iste prikazy.
V kazdom pripade to povazujem za chybu a nie vlastnost. Pretoze ked do toho ulozim string, vrati sa mi string. Ked do toho ulozim pole, vrati sa mi pole. Ked tam dam zlozite pole, vrati sa mi zlozite pole. Ale ked do toho vlozim int, NEOCAKAVAM string, je to proti logike. Hlavne ked na inom systeme to funguje inak.
moje testy v Drupalu7, pravda na windows serveru s IIS a php 5.3, vychazely tak ze bylo APC a wincache na podobne rychlosti, memcached a mongoDB cca 5x pomalejsi. Mongo mi kousek mene vytezovalo procak. nakonec jedu v mongo protoze ma vic moznosti(lze ho pouzivat konrektne v drupalu nejen na cache).
Zajimave je, ze jsem ted cetl clanek kde meli na centOS pomerne velky rozdil pri pouziti php-memcached vs php-memcache (D na konci, a jednalo se jen o php extension - pri pouziti memcacheD daemona bylo php-memcache bez D na konci vyrazne lepsi)