bilus/redis-bitops — pull request #4 by msaffitz (2014-11-16 20:32:35+00:00)
Title: Don't use transactions (multi) for bitops

If you use a bitop against a frequently changing bitmap, the multi can be cancelled because the underlying key tracked by watch will change and invalidate the transaction. The bitop will then return invalid results (0). This removes the transaction block. Unknown if this is dangerous if the bitmap is in the process of being copied. Causes bitops to not be strongly consistent.

This also pipelines bit operations to increase speed. In testing large bitmaps saw a ~50x increase in speed
by pipelining operations.