X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/924aa408b99837036b679bd3895f836af6bc763f..46834808fe31e7cbf08d6c9f7638a54c5c8bff8a:/doc/SetbitCommand.html diff --git a/doc/SetbitCommand.html b/doc/SetbitCommand.html new file mode 100644 index 00000000..bcec9e22 --- /dev/null +++ b/doc/SetbitCommand.html @@ -0,0 +1,45 @@ + + + + + + + +
+ + + +
+
+ +SetbitCommand: Contents
  SETBIT _key_ _offset_ _value_ (Redis >
    Return value +
+ +

SetbitCommand

+ +
+ +
+ +
+ +

SETBIT _key_ _offset_ _value_ (Redis >

2.1.8) = +Time complexity: O(1)
Sets or clears the bit at offset in the string value stored at key.
+The bit is either set or cleared depending on value, which can be either 0 or 1. When key does not exist, a new string value is created. The string is grown to make sure it can hold a bit at offset. The offset argument is required to be greater than or equal to 0, and is limited to 232-1 (which limits bitmaps to 512MB). +When the string at key is grown, added bits are set to 0.

Warning: When setting the last possible bit (offset equal to 2
32-1) and the string value stored at key does not yet hold a string value, or holds a small string value, Redis needs to allocate all intermediate memory which can block the server for some time. +On a 2010 Macbook Pro, setting bit number 232-1 (512MB allocation) takes ~300ms, +setting bit number 230-1 (128MB allocation) takes ~80ms, +setting bit number 228-1 (32MB allocation) takes ~30ms and +setting bit number 226-1 (8MB allocation) takes ~8ms. +Note that once this first allocation is done, subsequent calls to SETBIT for the same key will not have the allocation overhead.

Return value

Integer reply, specifically: the original bit value stored at offset. +
+ +
+
+ + +