我想要缓存员工数据。 EmployeeId是数据库中的主键。那么,使用EmployeeId作为缓存的关键是否可以?即,
cache.put(employee.getId(),employee); // employee是Employee类的实例
或者密钥必须更复杂(使用某些散列算法生成等)?使用employeeId作为缓存密钥有什么危害吗?
答案 0 :(得分:1)
使用employeeId作为密钥没有坏处,但最好使用Employee
之类的字符作为前缀,以便具有相同id的缓存中的另一个Object不会覆盖您的员工缓存条目。所以像这样:
// employee is an instance of Employee
cache.put("Employee::" + employee.getId(), employee);
编辑:如果您为每个对象类型专用存储桶
// employee is an instance of Employee
cache.put(employee.getId(), employee);