?
This document uses PHP Chinese website manual Release
INCRBYFLOAT key increment
自2.6.0起可用。
時(shí)間復(fù)雜度: O(1)
增加表示key
由指定的存儲(chǔ)在其中的浮點(diǎn)數(shù)的字符串increment
。通過使用負(fù)值increment
,結(jié)果是存儲(chǔ)在鍵上的值減少(通過明顯的加法屬性)。如果密鑰不存在,則0
在執(zhí)行操作之前將其設(shè)置為。如果發(fā)生以下情況之一,則會(huì)返回錯(cuò)誤:
該鍵包含錯(cuò)誤類型的值(不是字符串)。
當(dāng)前關(guān)鍵內(nèi)容或指定的增量不可解析為雙精度浮點(diǎn)數(shù)。
如果命令成功,則新增值將作為鍵的新值(替換舊值)存儲(chǔ),并以字符串的形式返回給調(diào)用者。
字符串鍵和增量參數(shù)中已包含的值都可以以指數(shù)表示法提供,但是增量后計(jì)算的值將以相同的格式一致存儲(chǔ),也就是說,一個(gè)整數(shù)(如果需要)后跟一個(gè)點(diǎn)以及表示該數(shù)字的小數(shù)部分的可變數(shù)字的數(shù)字。尾隨零總是被刪除。
無論計(jì)算的實(shí)際內(nèi)部精度如何,輸出的精度都固定為小數(shù)點(diǎn)后的17位數(shù)。
批量字符串回復(fù):key
增量后的值。
redis> SET mykey 10.50 "OK"
redis> INCRBYFLOAT mykey 0.1 "10.6"
redis> INCRBYFLOAT mykey -5 "5.6"
redis> SET mykey 5.0e3 "OK"
redis> INCRBYFLOAT mykey 2.0e2 "5200"
該命令始終在復(fù)制鏈接和僅附加文件中作為 SET 操作傳播,因此基礎(chǔ)浮點(diǎn)數(shù)學(xué)實(shí)現(xiàn)中的差異不會(huì)成為不一致性的來源。