第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

nodejs 環(huán)境下 redis如何保證異步set數(shù)據(jù),數(shù)據(jù)不會(huì)被覆蓋?

nodejs 環(huán)境下 redis如何保證異步set數(shù)據(jù),數(shù)據(jù)不會(huì)被覆蓋?

犯罪嫌疑人X 2019-03-04 22:15:16
使用了express作為服務(wù)端框架,然后使用redis來存儲(chǔ)一些數(shù)據(jù)。發(fā)現(xiàn)一個(gè)問題,一直想不明白。比如 A 在 time 2:31:11:00 時(shí)發(fā)送ajax請(qǐng)求,該請(qǐng)求修改redis里某個(gè)數(shù)據(jù),B在time 2:31:11:02時(shí)發(fā)送ajax請(qǐng)求修改redis里的某個(gè)數(shù)據(jù)。于是服務(wù)器開始了如下操作2:31:11:00 POST updateData user = A;2:31:11:01 POST updateData user = B;2:31:11:01 服務(wù)器拉取redis里的某個(gè)集合 (A的請(qǐng)求);2:31:11:02 服務(wù)器拉取redis里的某個(gè)集合 (B的請(qǐng)求);2:31:11:02 服務(wù)器該集合里關(guān)于用戶A的數(shù)據(jù)被修改;2:31:11:03 服務(wù)器該集合里關(guān)于用戶B的數(shù)據(jù)被修改;2:31:11:03 服務(wù)器把修改過A的數(shù)據(jù)集合重新更新到redis上;2:31:11:04 服務(wù)器把修改過B的數(shù)據(jù)集合重新更新到redis上;這樣下來,不是redis上的數(shù)據(jù)變成只有B修改,A沒有修改嗎?nodejs是執(zhí)行代碼單線程,是不是說如果A.B一前一后請(qǐng)求,先處理完A的,再處理B的?
查看完整描述

2 回答

?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

又讀了一遍,我的理解有問題(當(dāng)成mongodb了),你的理解沒問題,可以大致當(dāng)成localStorage來理解(能存的東西花樣更多)
設(shè)計(jì)表就是設(shè)計(jì)key,表應(yīng)該設(shè)計(jì)成這樣

{    "room:1:seat1:ready":true,    "room:1:seat1:userid":1,    "room:1:seat2:ready":false,    "room:1:seat2:userid":2,
    ...
}

你看這里存儲(chǔ)seat1和seat2的準(zhǔn)備狀態(tài)的key是不同的,所以不會(huì)沖突


查看完整回答
反對(duì) 回復(fù) 2019-03-04
  • 2 回答
  • 0 關(guān)注
  • 1918 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)