summaryrefslogtreecommitdiff
path: root/redis/connection.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Handle percent-encoded URLs in parsing codePaul Keene2015-02-091-8/+24
|
* Merge branch 'pr/520'Andy McCurdy2014-08-151-2/+3
|\
| * pep8Andy McCurdy2014-08-151-1/+2
| |
| * add optional "timeout" parameter to pubsub.can_readAndy Isaacson2014-08-121-2/+2
| |
* | pep8Andy McCurdy2014-08-141-1/+2
| |
* | handle buffer edgecaseJosh Owen2014-08-131-1/+1
|/
* fix for pipelines when sending large valuesAndy McCurdy2014-07-281-3/+3
|
* bytearray didn't work with socket.recv_into in python 2.6Andy McCurdy2014-07-211-7/+6
|
* cleanup and optimizations to new bytearray codeAndy McCurdy2014-07-211-23/+25
|
* Merge branch 'master' into pr/505Andy McCurdy2014-07-211-10/+25
|\ | | | | | | | | Conflicts: redis/connection.py
| * check for the server closing a connection that's compatible with Python 3Andy McCurdy2014-07-061-2/+2
| | | | | | | | fixes #508
| * Consistent option names for encoding and encoding_errors. Fixes #510Andy McCurdy2014-07-031-0/+11
| |
| * better pack_commands algorithm with less string joiningAndy McCurdy2014-07-031-9/+13
| |
* | Added support for reusing a bytearray buffer when parsing with hiredis-py 0.1.4tzickel2014-06-271-9/+32
|/
* fix python3 compatAndy McCurdy2014-06-161-2/+2
|
* pack multiple commands in a pipeline into larger strings.Andy McCurdy2014-06-161-0/+16
| | | | fixes #495
* using repr() on a long value includes the trailing "L". use str() instead.Andy McCurdy2014-05-281-2/+4
| | | | fixes #484
* Don't retry commands that fail due to a socket.timeout by default.Andy McCurdy2014-05-271-3/+14
| | | | | | | | | | | | | | | | | | | | Users now have the ability about how socket.timeout errors are handled. Previously socket.timeout errors were handled just like any other socket error in that the command would be retried once. This createed a potential race condition when the client sends a command to a busy Redis server that can't reply faster than the client's `socket_timeout` option. In this case, the server will still eventually process the command. There's now a `retry_on_timeout` option that's set to False by default. If `retry_on_timeout` is False, any socket.timeout error will raise a TimeoutError exception. If `retry_on_timeout` is set to True, the client will retry executing the command once just like other socket.error exceptions. TODO: Write better tests for this code. TODO: Much of this logic could/should be moved to the ConnectionPool or Connection objects. Fixes #261
* it's ok if max_connections is a long.Andy McCurdy2014-05-261-9/+5
|
* consistent naming, #446Andy McCurdy2014-05-141-12/+13
|
* added socket_connect_timeout and socket_keepalive options. fixed #353Andy McCurdy2014-05-131-11/+43
|
* allow cert_reqs to be a string and convert it to the appropriate SSL constant.Andy McCurdy2014-05-131-0/+10
|
* construct SSL connections from URLs. #446Andy McCurdy2014-05-131-0/+9
|
* added the ablity to pass ssl options to client classes. #446Andy McCurdy2014-05-131-4/+6
|
* cleaner 2.6 fallback code for querystring parsing on python 2.6Andy McCurdy2014-05-121-7/+11
|
* Merge branch 'pr/446'Andy McCurdy2014-05-121-1/+33
|\ | | | | | | | | | | Conflicts: redis/client.py redis/connection.py
| * add SSL supportOran Agra2014-03-221-1/+22
| |
* | string literals no longer get encoded before being send to RedisAndy McCurdy2014-05-121-10/+43
| | | | | | | | | | | | | | | | | | | | | | | | previously all pieces of a command, including the command name and literal options to it (such as "WITHSCORES" on ZSET commands) would get encoded. this works fine on utf-8, but other encodings like utf-16 break. a new Token class has been introduced that command names and literal options get wrapped. the encoder falls back to the latin-1 encoding for these literals as they are all ascii. fixes #430
* | work around python2.6's broken urlparse implementationAndy McCurdy2014-05-111-1/+11
| |
* | Cleaned up URL parsing code, now returns ConnectionPool instances.Andy McCurdy2014-05-111-67/+49
| | | | | | | | | | | | | | StrictRedis.from_url() now creations a connection pool instance and passes that as the connection_pool argument to the client class. Cleaned up the test suite for URL parsing and BlockingConnectionPool tests
* | remove debuggingAndy McCurdy2014-05-111-1/+1
| |
* | cleanup ConnectionPool and BlockingConnectionPool.Andy McCurdy2014-05-111-89/+32
| |
* | Merge branch 'pr/436'Andy McCurdy2014-05-111-1/+104
|\ \ | | | | | | | | | | | | Conflicts: tests/test_connection_pool.py
| * | restore a feature that was inadvertently removedwil paredes2014-02-091-1/+1
| | | | | | | | | | | | * fixed parsing URLs without a scheme, e.g. "//localhost:6379"
| * | pep8 fixeswil paredes2014-02-091-6/+6
| | |
| * | add from_url() classmethod to ConnectionPool and BlockingConnectionPool, add ↵wil paredes2014-02-091-1/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ability to parse UNIX domain socket URLs * add redis.connection.parse_url() * moved code from StrictRedis.from_url() to here * add ability to parse UNIX domain socket URLs * return keyword args to pass to StrictRedis.__init__() * StrictRedis.from_url() - call parse_url() to get keyword args * add classmethod from_url() to ConnectionPool and BlockingConnectionPool * get keyword args from parse_url() * touch up keyword args from StrictRedis format for connection pool * tests/test_connection_pool.py * add from_url() tests for ConnectionPool and BlockingConnectionPool * add from_url() tests for a single Redis client object
* | | Add TCP_NODELAY to TCP sockets.tzickel2014-05-091-0/+1
| | |
* | | Force `port` to an int in case someone passes it as a string. Fixes #292Andy McCurdy2014-05-071-1/+1
| | |
* | | SentinelManagedConnections to master servers disconnect on READONLY errors.Andy McCurdy2014-05-061-0/+2
| | | | | | | | | | | | | | | Any attempt to reconnect will force all connections in that pool to update their connections to the new master. Fixes #435
* | | better performance of pack_command and send_packed_command when dealing with ↵Andy McCurdy2014-04-291-6/+19
| | | | | | | | | | | | large values
* | | receiving empty strings from socket.recv indicates the server hungup.Andy McCurdy2014-04-291-0/+6
| | | | | | | | | | | | fixes #386 and #465. Thanks David Lawrence.
* | | tiny benchmark framework and a benchmark to determine the optimal number of ↵Andy McCurdy2014-04-281-2/+2
| | | | | | | | | | | | bytes to read from a socket
* | | accumulate data based on its length rather than the size of the bufferAndy McCurdy2014-04-281-6/+14
| | |
* | | socket_read_size can now be customizedAndy McCurdy2014-04-211-13/+18
| | |
* | | nicer upgrade messageAndy McCurdy2014-04-211-2/+2
| | |
* | | better error handling with hiredis. fully fixes #456Andy McCurdy2014-04-211-8/+29
| | |
* | | UnixAndy McCurdy2014-04-051-0/+1
| | |
* | | automatic message decoding if decode_responses=True. bugfixes, tests.Andy McCurdy2014-04-011-0/+1
| | |
* | | make sure we're not holding onto any referencesAndy McCurdy2014-03-271-0/+2
| | |
* | | fixed a bunch get_message() bugs, refactored the PythonParser to be saner.Andy McCurdy2014-03-271-46/+107
| | | | | | | | | | | | still need more pubsub tests but all this stuff *seems* to be working now