亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何解決cache失效用戶并發請求問題

如何解決cache失效用戶并發請求問題

拉風的咖菲貓 2018-07-28 06:10:21
比如:if(cache["key"]==null){  lock(this)  {    if(cache["key"]==null)    {      cache.Insert("key",func())    }  }}這邊的func 是有返回結果的一個委托代碼大概是這么一個邏輯,但是如果其中有一個key的委托如果執行很久的話,那不是其他地方的緩存都要等這個委托執行完,那不是我不需要訪問這個緩存的也要等這個委托執行完把lock解開,不知道有沒有辦法可以就是各個不同名稱的緩存的lock互不受影響
查看完整描述

1 回答

?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

那你就需要lock不同的鎖,不如我有2個角色,需要修改信息,這2個覺得都有guid這個唯一標示,

這個時候,我可以lock(string.Intern(guid.tostring()))

{

  do somethings。這樣的話就單獨的lock各自的對象。

}

可以先了解一下啊string.intern這個方法。


查看完整回答
反對 回復 2018-07-30
  • 1 回答
  • 0 關注
  • 676 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號