A DB verfügt derzeit über eine Tabelle some_table:Macht es Sinn, zwischenzuspeichern und zu lesen, wenn ich sicher bin, dass ich Daten von der DB lesen muss?
conn_id data
id1 - - - - - a
id1 - - - - - b
id2 - - - - - c
id3 - - - - - d
Jetzt ist mein Code hat, dies zu tun:
do_something([id1,id2,id3,id4])
ich momentan tun eine MySQL-Abfrage:
select * from some_table where conn_id in (id1, id2, id3, id4);
und erzeugen dies:
{
id1 => [a,b],
id2 => [c],
id3 => [d]
}
Wenn ich diese Daten zwischenspeichern würde, werde ich beim nächsten Mal die Schlüssel für ID1, ID2 und ID3 im Cache finden. Da ID4 weder im Cache noch in der DB existiert, muss ich immer die DB abfragen.
Ist es sinnvoll, diese Daten zwischenzuspeichern?
Ich kann Daten für ID1, ID2, ID3 aus dem Cache abrufen. Aber für ID4 mache ich eine MySQL-Abfrage:
select * from some_table where id in (id4)
Welche wäre leistungsfähiger? Zu einer Zeit kann ich 200 IDs in der Anfrage (do_something) haben, aus denen eine beliebige Anzahl nicht existent sein kann.