memcache
pecl.php.net
memcached extension
Memcached is a caching daemon designed especially for
dynamic web applications to decrease database load by
storing objects in memory.
This extension allows you to work with memcached through
handy OO and procedural interfaces.
The extension allows use to store sessions in memcached via memcache.
Tomas Srnka
tomassrnka
tomas.srnka@gmail.com
yes
Antony Dovgal
tony2001
tony@daylessday.org
no
Mikael Johansson
mikl
mikael@synd.info
no
Pierre-Alain Joye
pajoye
pierre.php@gmail.com
no
Herman J. Radtke III
hradtke
hradtke@php.net
no
2019-12-20
4.0.5.2
4.0.5.2
stable
stable
PHP License
- Version 4.x supports PHP 7.0-7.4.
- Version 4.x is considered to be stable for production usage.
- Support for PHP 5.x has been removed, please use memcache extension ver. 3.x
- Special thanks to Frantisek Drojak - thesource93 (github) for making this happen
7.0.0
1.4.0b1
memcache
2019-12-19
4.0.5.1
4.0.5.1
stable
stable
PHP License
- 4.0.5.1 fix in version number
2019-12-19
4.0.5
4.0.5
stable
stable
PHP License
- First official release for PHP 7+, supports PHP 7.0-7.4
- Support for PHP 5.x has been removed, please use 3.x version of this extension
- 4.0.5 version consits of fix for PHP 7.4 behaviour changes
2013-04-07
3.0.8
3.0.8
beta
beta
PHP License
- Fix Bug #63142 - memcache client Segmentation fault
- Fix Bug #63272 - Explicitly reserve range of flags in php_memcache.h so application code can use
- Fix Bug #59602 - getExtendedStats fails on the host intermittently after restarting memcache
- Fix Bug #63141 - Added LICENSE file and include tests folder in package
2012-09-22
3.0.7
3.0.7
beta
beta
PHP License
- Fixed bug #62589 - missing "$" in memcache.php
- Fix php_stream_cast() usage.
- fixes for windows build and php 5.4 compat
2011-04-10
3.0.6
3.0.6
beta
beta
PHP License
- Fixed PECL Bug #16672 (memcache.php doesn't support unix socket)
- Fixed PECL Bug #19374 (memcache.php throws Notice: Undefined index: VALUE when viewing expired items)
- Fixed PECL Bug #17518 (Strange behavior in increment on non integer and after)
- Fixed potential segfault in memcache queue.
- Fixed various tests
2010-10-03
3.0.5
3.0.5
beta
beta
PHP License
- Fixed PECL bug #16059 (Build error: 'MSG_NOSIGNAL' undeclared)
- Added method MemcachePool::findServer(key) which returns the server a key hashes to
- Changed MemcachePool::findServer() to return only "hostname:port" since tcp port is significant
- Fixed PECL bug #16536 (Weight of 0 causes SegFault on memcache_add_server)
- Fixed PECL bug #17566 (3.0.4 cache delete bug)
- Fixed PECL Bug #16442 (memcache_set fail with integer value)
2009-02-22
3.0.4
3.0.4
beta
beta
PHP License
- Improved performance of consistent hash strategy
- Accept timeout parameter as float to enable microsecond timeouts, param is still
given in seconds but with a microsecond fraction.
- Added session locking to avoid concurrency problems with AJAX apps
- Fixed PECL bug #14642 (3.0.x breaks BC with 2.2.x)
- Fixed PECL request #13758 (Failed to extract 'connection' variable from object)
- Fixed PECL request #14658 (Allow connection timeouts in ms, not seconds)
- New INI directive
memcache.lock_timeout = 15
2009-01-13
3.0.3
3.0.3
beta
beta
PHP License
- Enabled compression by default for values larger than 20kb
- Scalar data types (int, bool, double) are preserved by get/set
- Reserved the lowest 2 bytes of the flags for internal use
- Fixed PECL bug #14157 (Segmentation fault with errorcallback handler)
- Fixed PECL bug #15342 (memcache keys whitespaces replace issue)
- Fixed PECL bug #15447 (Persistent Connections Cause Segfaults if One Server Drops)
- Fixed PECL bug #15529 (memcache object loses port information)
- Fixed PECL bug #14730 (Types lost during get/set)
- Fixed PECL request #14801 (Session handler and large sessions)
- Added REPORT_ERRORS to php stream open
- New INI directive
memcache.compress_threshold = 20000
2008-09-11
3.0.2
3.0.2
beta
beta
PHP License
- Updated binary protocol to be compatible with memcached 1.3.0
- Added memcached stats script from Harun Yayli (http://livebookmark.net/memcachephp)
- Fixed server weight not being used in the session handler
- Fixed PECL bug #13343 (compilation breaks with CodeWarrior compiler)
- Fixed PECL bug #13546 (Session handler through unix socket)
- Fixed PECL bug #13592 (error in opcode)
- Fixed PECL req #13588 (minor inefficiency in binary protocol implementation)
- Fixed PECL bug #14044 (send of 32768 bytes failed with errno=11 Resource temporarily unavailable)
- Fixed PECL bug #14239 (Memcache::set() modifies value parameter)
- Fixed PECL bug #14156 (No check for parameter count in php_mmc_store)
- Fixed PECL bug #14458 (off-by-one causes corrupted arrays in 3.0.x)
- Fixed PECL bug #14104 (Malformed VALUE header (0))
- Fixed PECL request #13725 (unnecessary allocations in mmc_consistent_add_server)
- Changed behaviour when unserialize/uncompress fail to return false instead of failing the server
2008-02-05
3.0.1
3.0.1
beta
beta
PHP License
- Fixed PECL bug #12866 (Ignore memcache.default_port in memcache_connect)
- Fixed PECL bug #12883 (Breaks UTF-8 in keys)
- Fixed PECL bug #13060 (make problems, due to role="doc" instead of role="src")
- Changed behaviour of close() to actually remove all servers from pool (PECL bug #12555)
- Added configure option for PEAR installer to disable session handler support
- Added package version to phpinfo()
2007-11-26
3.0.0
3.0.0
alpha
alpha
PHP License
See README for details on new API and INI directives.
- UDP support
- Binary protocol support
- Non-blocking IO using select()
- Pipelined multi-set/delete/increment/decrement
- CAS (Compare-And-Swap) support
- Append/prepend support
- Key and session redundancy (values are written to N mirrors)
- Improved error reporting and failover handling
- Added class "MemcachePool" implementing the new API
- New INI directives
memcache.protocol = {ascii, binary}
memcache.redundancy = 1
memcache.session_redundancy = 2
- Changed INI defaults
memcache.hash_strategy = consistent
memcache.chunk_size = 32768
2008-02-05
2.2.3
2.2.3
stable
stable
PHP License
- Fixed PECL bug #12883 (Breaks UTF-8 in keys)
- Fixed PECL bug #13060 (make problems, due to role="doc" instead of role="src")
- Added package version to phpinfo()
2008-01-10
2.2.2
2.2.2
stable
stable
PHP License
- Fixed PECL bug 12494 (Segmentation fault when Exception thrown in the callback function)
- Fixed PECL bug #12834 (segfault when getting duplicate array values on 64-bit system)
- Changed behaviour of close() to actually remove all servers from pool (PECL bug #12555)
- Added configure option for PEAR installer to disable session handler support
2007-11-01
2.2.1
2.2.1
stable
stable
PHP License
- Added argument to Memcache::get() that receives the flags for retrieved value(s)
- Fixed PECL bug 11369 ("nested" get calls in __wakeup() functions breaks)
- Fixed problem with keys being modified in-place and empty keys (PECL Bug #11236)
- Fixed incompatibility with standard hash strategy in previous versions
2007-09-21
2.2.0
2.2.0
stable
stable
PHP License
- Added support for consistent hash strategy
- New INI directives
"memcache.hash_strategy" = {standard, consistent}
"memcache.hash_function" = {crc32, fnv}
- PHP6 support
- Fixed PECL bug #11221 (Double free when returning cached object with __sleep)
- Fixed PECL bug #10607 (Segfault on array key retrieval when array key is not IS_STRING)
- Don't failover on "object to large" errors
- Use $phpincludedir for finding php_session.h
2007-03-27
2.1.2
2.1.2
stable
stable
PHP License
- Added missing files to the package.
2007-03-27
2.1.1
2.1.1
stable
stable
PHP License
- Added experimental session storage support. You can use memcached as session storage.
- Fixed PECL bug #9486 (empty keys should not be allowed in memcache_set/add())
- Fixed PECL bug #9854 (get() changes the datatype of variable of given as key)
2006-10-09
2.1.0
2.1.0
stable
stable
PHP License
- Servers may be flagged up/down and the user may specify a error callback
- Individual server params and up/down status may be changed at runtime
- New methods: setServerParams(), getServerStatus()
- Statistics methods support fetching other kinds of stats (slabs, items, cachedump, ...)
- Fixed PECL bugs #7631, #8117 (erroneous line feeds in config.m4)
- Added memcache.max_failover_attempts ini directive, which can be used to configure max number of
servers to try when setting and getting data.
2.0.4
2.0.4
stable
stable
2006-05-16
PHP License
- Redefined retry_interval as long to fix no-automatic-reconnect behaviour
- Fixed PECL bugs #7635, #7637 (OnUpdateInt: referenced symbol not found)
2.0.3
2.0.3
stable
stable
2006-05-15
PHP License
- Display ini entries in phpinfo() output
- Fixed Zend2 compat
2.0.2
2.0.2
stable
stable
2006-05-14
PHP License
- Added "memcache.default_port" ini directive (default 11211)
- Added "memcache.allow_failover" ini directive (default On)
- Added "memcache.chunk_size" ini directive (default 8192 bytes)
- Setting retry_interval parameter to -1 disables automatic reconnect
- Fixed PECL bug #7331 (NULL pointer freeing causes memcache to segfault)
2.0.1
2.0.1
stable
stable
2006-02-01
PHP License
- Fixed PECL bug #6595 (segfault in addServer())
- Fixed PECL bug #6512 (buffer overrun in getVersion())
- Fixed PECL bug #6460 (lacking include of php_smart_str_public.h)
- Fixed PECL bug #6370 (incorrect failover on out-of-memory server errors)
- Improved zlib detection
2.0.0
2.0.0
stable
stable
2005-12-21
PHP License
- Multiple servers with loadbalancing and failover
- Automatic compress threshold setting
- New methods: addServer(), getExtendedStats(), setCompressThreshold()
1.6
1.6
stable
stable
2005-10-12
PHP License
- Fixed minor leak appeared when connect fails.
- Fixed PECL bug #5626 (segfault when trying to use previously closed connection).
1.5
1.5
stable
stable
2005-08-05
PHP License
1) Fixed minor leak.
2) Class Memcache made inheritable.
1.4
1.4
stable
stable
2004-12-02
PHP License
1) Added multi get support (i.e. you're now able to get multiple items with one get() call,
just pass array of keys to get() and it will return associative array of found items).
1.3
1.3
stable
stable
2004-08-29
PHP License
1) Fixed potential problem with empty datasets (yet another patch from Andrey Nigmatulin [anight at monamour dot ru]).
2) Fixed bug #2167 (thanks to [pbnadeau at gmail dot com] for noticing, testing and patching).
1.2
1.2
stable
stable
2004-07-20
PHP License
1) Fixed typo, preventing to use set() with flags and expire in the same time (thanks to Troy Hakala [troy at recipezaar dot com] for noticing).
2) Added possibility to store objects and arrays compressed.
3) Hopefully fixed all possible problems with persistent connections (thanks to [anight at monamour dot ru]).
4) Some uncritical impovements.
1.1
1.1
stable
stable
2004-06-08
PHP License
1) Fixed couple of possible segfaults and one error (many thanks to Anight).
2) Minor improvements.
1.0
1.0
beta
beta
2004-05-21
PHP License
1) Ifdef'ed debug routines, so they are available only in debug mode.
This should add more speed to extension.
2) Minor code decorations.
0.4
0.4
beta
beta
2004-xx-xx
PHP License
1) Added on-the-fly data (de)compression support.
2) Added procedural API.
3) Extension was fairly refactored and accelerated.
0.2
0.2
beta
beta
2004-02-26
PHP License
New methods: getStats(), increment(), decrement().
Extension should be rather stable.
0.1
0.1
alpha
alpha
2004-02-08
PHP License
Initial release in PECL