簡體   English   中英

跟蹤員工在Redis中的工作時間的方法-什么有用? -不是嗎?

[英]Ways to track an employees hours in redis - what was useful? - what wasn't?

我正在建立一個簡單的打卡,打卡系統,我希望能夠跟蹤用戶何時登錄和退出,以及能夠提取日期1和日期2之間的工作時間報告。

我的想法是,當他們登錄時要設置一個排序后的集合,鍵是他們的名字,分數是他們登錄時的時間戳,該值將為空白。 然后,當他們注銷時,我會將值設置為注銷時間的時間戳。 然后我可以根據分數提取報告。 這是實用的和/或有更好的方法嗎?

編輯(從評論):

使用排序集,您可以通過獲取分數大於起始時間戳的所有記錄來進行查詢。

因此,為了易於使用,假設用戶登錄時間戳為50、100、150和200,您可以告訴redis為您提供時間戳大於100的記錄的所有數據,它將返回最后2條記錄。

它可以輕松地在mysql或其他數據庫中完成,但是我相信它也可以輕松地在redis完成。

對我來說,服務器資源至關重要,因此在mysql上使用redis是一大優勢。

您當然可以記錄打卡和打卡時間。 但是您不能按小時提取報告。 您必須通過拉出最后一次登錄和最后一次注銷並進行數學運算,才能在客戶端代碼中進行計算。 當然,還可以處理錯過的登錄或注銷情況。

您無需從Redis中“提取報告”,而是可以存儲和檢索數據。 有很多存儲數據的方法,但是您的問題太廣泛了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM