Tags: o0Freak0o/pottery
Tags
Make RedisList/RedisDeque .insert() use pipelines (brainix#484) * Make RedisList/RedisDeque .insert() use pipelines This avoids race conditions. * Fix inserting into RedisList w/ repeated elements * Bump version number * Increase unit test coverage * Use pipeline to get len in RedisDeque.__extend() * Refactor RedisList.insert() and RedisDeque.insert() Don't repeat myself. * Delete redundant unit tests
Use BailOutExecutor in more places (brainix#482) This makes `Redlock.locked()` and the `NextId.__current_id` getter more efficient for several masters.
Fix RedisList.__eq__() (brainix#476) * Fix RedisList.__eq__() 1. If `self` is `other`, return `True` 2. If `self` and `other` live on the same Redis database with the same key, return `True` 3. If `self` and `other` are of different lengths, return `False` 4. If `self` and `other` are ordered and have the same elements, return `True` 5. Otherwise, return `False` * Improve docstrings and comments * Make RedisList.__eq__() performant by using LRANGE
Flesh out RedisSet methods (brainix#470) * Flesh out RedisSet methods Implement `RedisSet.issubset()`, `RedisSet.issuperset()`, and `RedisSet.intersection()`. Refactor `RedisSet.isdisjoint()` to use `RedisSet.intersection()`. * Bump version number
Delete the Redis.lolwut() monkey patch (brainix#464) * Delete the Redis.lolwut() monkey patch I got `Redis.lolwut()` merged upstream! redis/redis-py#1568 * Bump version number
In NextId.reset(), reset all Redis masters (brainix#463) * In NextId.reset(), reset all Redis masters Previously, I'd modified the `NextId.__current_id` getter to get the ID from `n // 2 + 1` Redis masters, then to return the highest of those IDs. This means that `NextId.reset()` must delete the Redis key from all masters. * Upgrade requirements
Make consensus-based read ops more efficient (brainix#462) On read operations, once we've achieved quorum and read the value that we need, cancel pending in-flight futures.
Implement NextId.reset() (brainix#459) * Implement NextId.reset() `NextId.reset()` deletes the `NextId` object's key from the Redis masters, in effect resetting the current ID to 0. * Reorder unit tests to reflect order of methods * Unit test NextId.reset() quorum exceptions * Rewrite NextIdTests.test_reset() to tell a story * Bump version number * Dedent quorum exceptions out of executor block
Make Pottery work for both bytes and str responses (brainix#458) * Make Pottery work for both bytes and str responses By default, the Redis client returns `bytes` responses. However, the Redis client can be configured to return `str` responses. Make Pottery work for either type of responses. * Make whitespace consistent
PreviousNext