Hi. How to increment a value in memcache ? There is no method increment or decrement which should do appropriate action as atomic operation
Due to these docs http://docs.phalconphp.com/en/latest/api/Phalcon_Cache_Backend_Memcache.html
|
Aug '13 |
2 |
876 |
1 |
Hi. How to increment a value in memcache ? There is no method increment or decrement which should do appropriate action as atomic operation
Due to these docs http://docs.phalconphp.com/en/latest/api/Phalcon_Cache_Backend_Memcache.html
I dont use to work with memcache, but you can get the content, increment it, save it again with the new value.
You can also do a function/method that would do it for you. For instance by extending the Phalcon memcache adapter and add a method increment("key"). Then instead of using the base class, you use your one memcache class.
The first problem - get the content - increment - save - in 100 threads you will get race condition and real fuckup in counter :)
As for extend memcache class - it's not a problem - but in this case I have to make my own connection to memcache and I will have an overhead (one connection from Phalcon, and one from my class). The best way is to implement native increment/decrement memcache methods in Phalcon. I have made i ticket for it.
Or I can create my own memcacheClass with needed methods. But it is not "true" programming :)
I think we could close this question due to ticket #1083
Why I dont need it ? I need native increment method of memcache. I can get it from memcache object created from a class from pecl. This increment object need its own connection to work and I don't see any way to give Phalcon memcache connection to pecl object.
so first I'm making Class MyMemcache extends \Phalcon\Cache\Memcache, and implements MyMemcache->increment where making a new connection to memcache from pecl class and calling native libmemcached method