0
是否有一些處理高併發數據的機制?高負載下與PHP + Redis的併發連接
首先我們使用了mongodb,它有解決問題的原子更新。但更新頻率約爲1000秒,我們設置Redis來幫助它們之間的mongo和writed syncronisation。它工作的很好,但是我們在redis上有個問題。
例如:
- 第一個請求來了在0.01ms - 進程退出在0.04ms
- 二次要求在0.02ms和退出來了在0.03秒。
這兩個請求都得到相同的對象?改變它的數據並保存在退出。
當我們使用mongodb時 - 我們可以做 - 部分更新對象,但使用redis - 我們不能。
是否可以同時使用多個進程中的同一對象(數據)進行操作,而不是將其全部覆蓋 - 只有部分?
我發現的唯一方法 - 創建鎖定機制並等待第二次獲取之前存在的進程。