?
This document uses PHP Chinese website manual Release
SETBIT key offset value
自2.2.0起可用。
時間復(fù)雜度: O(1)
設(shè)置或清除存儲在鍵的字符串值中偏移量的位。
該位根據(jù)值設(shè)置或清零,可以是0或1.當(dāng)鍵不存在時,將創(chuàng)建一個新的字符串值。該字符串的增長,以確保它可以保持一點(diǎn)偏移量。所述偏移參數(shù)是必需的,以大于或等于0,且小于232(這個限制位圖512MB)。當(dāng)密鑰字符串增長時,添加的位設(shè)置為0。
警告:當(dāng)設(shè)置最后一個可能的位(偏移量等于232 -1)并且存儲在鍵上的字符串值尚未包含字符串值或保存一個小字符串值時,Redis需要分配所有可阻塞服務(wù)器的中間存儲器一段時間。在2010年的MacBook Pro上,設(shè)置232-1位(分配512MB)需要約300ms,設(shè)置位編號230-1(128MB分配)需要約80ms,設(shè)置位編號228-1(32MB分配)需要約30ms,設(shè)置位數(shù)字226 -1(8MB分配)需要?8ms。請注意,一旦完成第一次分配,對同一個密鑰的 SETBIT后續(xù)調(diào)用將不會產(chǎn)生分配開銷。
整數(shù)回復(fù):存儲在偏移處的原始位值。
redis> SETBIT mykey 7 1 (integer) 0
redis> SETBIT mykey 7 0 (integer) 1
redis> GET mykey "\u0000"