我在Express.js和Redis中使用Node.js。我通過增加一個redis密鑰來記錄站點組件的正常運行時間。我想更新uptimerecord:tracker
鍵,一旦當前正常運行時間大於當前正常運行時間記錄,但不知何故,即使它是真實的,它也不會更新它並評估uptimeTracker> uptimeRecordTracker與false
。比較兩個值的結果是false而不是true
有什麼我失蹤?
謝謝!
db.get("uptime:tracker", function(err, uptimeTracker) {
db.get("uptimerecord:tracker", function(err, uptimeRecordTracker) {
console.log("[Stats] uptimeTracker: " + uptimeTracker)
console.log("[Stats] uptimeRecordTracker: " + uptimeRecordTracker)
console.log("[Stats] Compare: " + (uptimeTracker > uptimeRecordTracker))
if(uptimeTracker > uptimeRecordTracker) {
console.log("[Stats] Tracker Records updated")
db.set('uptimerecord:tracker', uptimeTracker)
}
});
});
控制檯輸出:
[Stats] uptimeTracker: 213
[Stats] uptimeRecordTracker: 99
[Stats] Compare: false
..他們是字符串還是整數?嘗試''parseInt(uptimeTracker)> parseInt(uptimeRecordTracker)'' – redShadow 2013-03-18 23:11:29
@redShadow就是這樣,它的工作原理。非常感謝! – mediocre 2013-03-18 23:18:52
很酷,我回答了,所以你可以接受:) – redShadow 2013-03-18 23:23:48