假設每天都會有不少於1000000個唯一標識碼進來系統,標識碼組成結構是字符串+數字+下劃線,形如"ua_124wtybmlo_cfk"。
現在需求是要判斷某一個識別碼三天內有沒有在系統出現過。
如果用有效期是3天的string結構來儲存每一個標識碼,那麼一天要有1000000+個string 類型的key,這樣會非常消耗記憶體。
如果要優化的話,目前只能想到改為哈希結構+分片來存儲,主要是分片策略不知如何制定。
不知道有沒有哪位大神有什麼好的方案?或者如果有其他好的優化方式也可以提出來。
感謝~
假設一個 key-value 佔用32字節,3天也才90M,這算非常消耗記憶體?
如果真的很在乎內存,又可以忽略一定的正確性的話,可以考慮使用布隆過濾器。