
簡(jiǎn)介
strlen命令從數據庫中獲取到value,返回value字符串的長(cháng)度。
格式:
strlen key
strlen 命令
Redis獲取到值robj的ptr之后,如果值類(lèi)型是string類(lèi)型,通過(guò)sdslen函數便可以獲取到value的長(cháng)度。如果值類(lèi)型不是string類(lèi)型,通過(guò)遞歸可以求出整型值的字符串長(cháng)度:
uint32_t digits10(uint64_t v) {
if (v < 10) return 1;
if (v < 100) return 2;
if (v < 1000) return 3;
if (v < 1000000000000UL) {
if (v < 100000000UL) {
if (v < 1000000) {
if (v < 10000) return 4;
return 5 + (v >= 100000);
}
return 7 + (v >= 10000000UL);
}
if (v < 10000000000UL) {
return 9 + (v >= 1000000000UL);
}
return 11 + (v >= 100000000000UL);
}
return 12 + digits10(v / 1000000000000UL);
}