従業員データをキャッシュしたいとします。EmployeeId はデータベースの主キーです。では、EmployeeId をキャッシュのキーとして使用してもよろしいでしょうか。つまり、
cache.put(employee.getId(), employee); // 従業員は従業員クラスのインスタンスです
それとも、キーをもっと複雑にする必要がありますか (ハッシュ アルゴリズムなどを使用して生成)? employeeId をキャッシュ キーとして使用しても害はありますか?
Employee
キーとして employeeId を使用しても害はありませんが、同じ ID を持つキャッシュ内の別のオブジェクトが従業員のキャッシュ エントリを上書きしないように、これに次のようなプレフィックスを付けることをお勧めします。だから、このようなもの:
// employee is an instance of Employee
cache.put("Employee::" + employee.getId(), employee);
編集:オブジェクト タイプごとに専用のバケットを作成した場合
// employee is an instance of Employee
cache.put(employee.getId(), employee);