Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpredis/phpredis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-02-19Change ZPOP* return type and implement blocking variantsmichael-grunder
This commit updates ZPOPMIN/ZPOPMAX to return the same format that zRange WITHSCORES and zRangeByScore WITHSCORES does. In addition the blocking variants BZPOPMIN and BZPOPMAX are implemented.
2019-02-17Add ZPOPMAX and ZPOPMIN supportMarin Bezhanov
2019-02-14Implement GEORADIUS_RO and GEORADIUSBYMEMBER_ROmichael-grunder
This addresses #1502, #1487
2018-11-184.2.04.2.0michael-grunder
2018-11-084.2.0RC34.2.0RC3michael-grunder
2018-10-264.2.0RC24.2.0RC2Pavlo Yatsukhnenko
2018-10-114.2.0RC14.2.0RC1Pavlo Yatsukhnenko
2018-09-29Streams (#1413)Michael Grunder
Streams API
2018-03-24Merge branch 'session-locking' into developPavlo Yatsukhnenko
Conflicts: redis_session.c tests/RedisTest.php
2018-01-19Merge branch 'swapdb-command' into developmichael-grunder
2018-01-18Implement SWAPDB commandmichael-grunder
2018-01-17Implement UNLINK commandmichael-grunder
This commit implements UNLINK for Redis, RedisCluster, and RedisArray. To a client library UNLINK behaves identically to DEL so we can use the same handlers for both.
2017-11-11Refactored session locking logicmichael-grunder
* Use a precalculated SHA1 of our lock release script and first attempt to EVALSHA the script while falling back to EVAL if that fails. This means that the very first time we attempt to release a lock after server restart or script cache will fail but subsequent attempts will succeed as Redis will cache the script automatically. * Reorganized the new locking prototypes by making them static and removing them from the header file as they never need to be called from outside of redis_session.c anyway. Did the same for the lock_secret structure as we don't need to expose the structure externally. * Consolidated allocation and deallocation of lock pointers such that our redis_pool "constructor" and "desctructor" handle that as well. * Updating how we release the lock means we no longer need the new REDIS_G module globals, so those were removed. * HOST_NAME_MAX doesn't exist on OSX so added some preprocessor logic around that Still a WIP as it needs more testing as I'm sure I broke *something* :-)
2017-11-02PHPREDIS-37: Converted global lock_release_lua_script_hash to pointer and ↵Marius Meissner
use estrdup for filling
2017-10-30PHPREDIS-37: Add locking functionalityMarius Meissner
2017-10-14Sync package.xml and update PHP_REDIS_VERSIONPavlo Yatsukhnenko
2017-08-31Prepare for 3.1.4RC1 releasemichael-grunder
2017-08-04Set PHP_REDIS_VERSION to 'develop'Pavlo Yatsukhnenko
2017-06-06Remove PHP_RINIT and PHP_RSHUTDOWNPavlo Yatsukhnenko
Since we don't do anything while request start/end we may safely remove PHP_RINIT and PHP_RSHUTDOWN functions.
2017-05-24Merge branch 'issue.1176' into developPavlo Yatsukhnenko
2017-04-28Clean up generic sort methodmichael-grunder
2017-03-16Bamp 3.1.2michael-grunder
2017-03-09refactoringPavlo Yatsukhnenko
Change multi, pipeline and remove unused prototypes
2017-03-04Merge branch 'issue.1087' into developPavlo Yatsukhnenko
2017-03-04Issue #1087Pavlo Yatsukhnenko
`hStrLen` command
2017-02-27Remove dupliate headerdoodoori2
2017-01-16Fix version in sourceshow3.1.1RC2michael-grunder
2016-12-22Bamp 3.1.1RC13.1.1RC1michael-grunder
2016-12-22Bamp 3.1.1-rc1michael-grunder
2016-12-15release 3.1.03.1.0Pavlo Yatsukhnenko
2016-11-12php7 compatibilityPavlo Yatsukhnenko
All tests passed. \o/
2016-06-04Merge commit 'edd777a6b4202580975447abfc95870572795e36' into developmichael-grunder
2016-06-03Updated package.xml and proper github url2.2.8-rc1michael-grunder
2016-01-10Update versionRemi Collet
To avoid users confusion, this is NOT a released version And use something > last released version.
2015-10-01Initial support for geo commandsmichael-grunder
This commit adds initial support for the new GEO commands. Presently the more complicated GEORADIUS[BYMEMBER] command doesn't do much post-processing of the response, but will probably be modified in the future to return it in a more php friendly way.
2015-05-09Added a new method sAddArray to both Redis and RedisClustermichael-grunder
Presently, the sAdd command is variadic, meaning that it takes a key and then 1 to N additional arguments for the members being added. We need to keep this functionality to avoid breaking existing code, but there are good performance and other reasons to have an sAdd command which takes a key followed by an array of members, which is what the sAddArray method implements.
2015-05-07Implement rawCommand() properly, as it's not the COMMAND command in Redis.michael-grunder
2015-05-06Use win32 function prototypes for lib functionsmichael-grunder
2015-05-06Implements the getMode() commandmichael-grunder
Rename command to rawCommand() as it's named in phpredis proper This introspection function will inform the caller what mode phpredis is in (atomic, pipeline, multi) Conflicts: php_redis.h
2015-05-06Incorporate formalized multi-bulk proessing from developmichael-grunder
This commit just backports the newer and improved multi-bulk processing for various commands (e.g. zrange, hmget,etc) from develop into feature/redis_cluster Also modified getbit to treat the value as a long
2015-05-06COMMAND commandmichael-grunder
Implement the new COMMAND command in Redis for both cluster and non cluster classes. This command is really more of a debug tool but should actually be useful for updating the unit tests as we can now simply detect which commands do and don't exist, etc.
2015-05-06ZREMRANGEBYLEXmichael-grunder
Implemented ZREMRANGEBYLEX in Redis and RedisCluster, and made the zlexcount command generic, as it has the same semantics.
2015-05-06ZREVRANGEBYLEXmichael-grunder
Implemented ZREVRANGEBYLEX for Redis and RedisCluster, and made command construction a generic that can handle either.
2015-05-06TIME/ROLEmichael-grunder
Implemented ROLE and TIME commands in RedisCluster, as well as updated the TIME command for Redis proper such that we use the new calling convention. Updated redis_read_variant_reply to take a context void* so it conforms with the correct prototype.
2015-05-06ZLEXCOUNTmichael-grunder
Implemented ZLEXCOUNT for both Redis and RedisCluster. Removed unused variable in INFO response processor
2015-05-06ZRANGEBYLEXmichael-grunder
Implemented ZRANGEBYLEX for both Redis and RedisCluster
2015-05-06WATCH commandmichael-grunder
Implemented the WATCH command for RedisCluster. This command can take any number of keys, so phpredis splits the request across the cluster in the best way it can. For every key in a multiple key command, Redis Cluster requires that they all hash to the same SLOT, else it will return a CROSSLOT error and fail. For WATCH in RedisCluster, a few things to note: * The command will fail if phpredis is out of sync with the keyspace. This is because we'll need to know where to deliver each command, or can't possibly deliver them correctlhy. * The command will fail if any command delivery failures occur on any node. This is the case either for a normal communication error or if RedisCluster returns to us MOVED/ASK redirection.
2015-05-06Some simple formatting changesmichael-grunder
Moved our ResultCallback define to the top (before function protos) as well as moved PHP_REDIS_VERSION define to the very top of php_redis.h
2015-05-06Added ZRANGE and ZREVRANGEmichael-grunder
Implemented ZRANGE and ZREVRANGE for both Redis and cluster. We can't use generic command processing here as the return type depends on the optional WITHSCORES bit. In addition, switched the code around such that zReverseRange is an alias of zRevRange because ZREVRANGE is the actual Redis command name.
2015-05-06Rework no arg commands, remove non-redis methodmichael-grunder
Each of the commands that take no arguments can be reworked such that they use the new calling convention in Redis proper Impelemnted BITPOS Removed Redis::resetStat. This isn't a Redis method, but rather an option on CONFIG, and it probably should be called that way.