問題是關於處理數據的最佳方法。
假設我們有這樣的鍵 - >值數據:
處理哈希數據的最佳算法
"[email protected]": { "name": "John",
"age": 20,
"job": "developer",
"favourite_food": ['taco', 'steak']
//...etc
}
//...etc
有與鍵「電子郵件」用戶大量的數據,比如一百萬。 通常我不得不通過他們的電子郵件搜索用戶。
但今天我的老闆走到我面前說他想用自己的名字搜索用戶,當然可以通過電子郵件搜索。那天他說他希望我的程序能夠按年齡實現搜索等等。
我首先想到的是要遍歷數據,例如,這個PHP代碼:
foreach($email as $data){
foreach($data as $k => $v){
if($v == 'search value'){
return $email;
}
}
}
但這種方法是不適合大數據量。
我的第二個想法是遍歷第一數據,併爲每封電子郵件自己的表,使它看起來像這樣:
$a = "[email protected]": {//all data}
$b = "John" : {//all data including email}
$c = "developer":{//all other data}
// and so on
但我的用戶年紀越來越大隨着時間的推移,所以我每次更新用戶的年齡我的主對象中的數據發生變化。
所以,我的問題是,使用任何編程語言實現這種邏輯的最佳方式是什麼?
一些注意事項:
它必須使用編程語言不接觸MySQL或任何其他數據庫來完成。
我很困惑。原來的問題是redis,現在你只需要任何語言的內存中的任何數量的映射,而不是數據庫?這裏肯定有一些限制,否則你會如何建設性地進步? – roganjosh
@roganjosh我根據你的評論改變了我的問題。 – Grynets