2013-10-30 66 views
0

我來自mysql,試圖將我的頭包裹在redis上。有些事情非常明顯,但有一對夫婦讓我難住。你將如何去執行這樣的事情在redis中?將進程從mysql轉換爲Redis

首先

我有一個排序第一的來/先服務預約系統。當用戶轉到特定頁面時,它會查詢下表並返回第一個badge,其中reservedby = 0,然後用用戶標識更新reservedby。如果用戶在15分鐘內未完成該過程,則reservedby重置爲0。如果用戶完成該過程,則從表中刪除該行並將badge與用戶數據一起存儲。訂單是重要的,名單上的徽章越高越好,所以如果我要刪除它,而不是將其標記爲保留,那麼如果該過程未完成15分鐘,則需要返回頂部。

id | badge | reservedby 
------------------------ 
240 | abc | 4249 
241 | bbb | 0 
242 | rrr | 0 

我有一組不經常改變,但查詢了大量的數據。當頁面加載時,它會填充每個color的選擇框,當您選擇一種顏色時,將顯示相應的smlg

id | color | sm | lg 
--------------------------- 
1 | blue | 1 | 5 
2 | red  | 3 | 10 
3 | yellow | 7 | 8 

最後

至於存儲用戶數據,我在做什麼是INCR users,然後採取這一價值和hmset user:<INCR users value> badge "aab" joindate "10/30/2013"等,是通常應如何做?

回答

0

以相反的順序

  • 肯定這是你如何在Redis的增加IDs,沒有自動化的功能。

  • 取決於表更改的頻率,如果它每月一次考慮向客戶端提供靜態json文件並讓客戶端處理其餘代碼。

  • 考慮使用ZSET並嘗試在分數處保留唯一值,或者使用json值或。

恕我直言,您預訂系統內部那種很爛,我可以很容易地保留您的網站爲您提供簡單,通過發送多個HTTP請求,其他生產網站有一個有限的報價,誰出錢先有房的用戶,直到付款在成功時進行處理,只是繼續進行,失敗則返回。