0

假设我想缓存员工数据。EmployeeId 是数据库中的主键。那么,使用EmployeeId作为缓存的key可以吗?IE,

cache.put(employee.getId(), 雇员); // 雇员是雇员类的一个实例

还是密钥必须更复杂(使用某种散列算法等生成)?使用employeeId 作为缓存键有什么坏处吗?

4

1 回答 1

1

使用employeeId 作为键没有什么害处,但最好用类似的前缀作为前缀,这样Employee缓存中具有相同ID 的另一个对象就不会覆盖您的员工缓存条目。所以是这样的:

// employee is an instance of Employee
cache.put("Employee::" + employee.getId(), employee);

编辑:如果您为每种对象类型专用存储桶

// employee is an instance of Employee
cache.put(employee.getId(), employee);
于 2013-08-15T21:38:35.227 回答