考虑一个拥有用户的平台,每个用户都有一个可以经常更改的头像。该平台提供了一个用于查询用户及其头像的API。
现在,每个化身都应发送到处理图像的外部API,但是只有在图像已更改(优化速率限制)时才需要请求。化身将定期检查是否有变化。现在,对实际问题:
我正在寻找一种有效的方法来存储图像的身份,以确定图像是否已更改。以前的图像不需要保存(您可以将其逐像素进行比较,并且已经存在一个相关的问题)。另外,某些图像是否产生相同的value
也很重要,因为这种情况很少发生(一个额外的请求无关紧要)。
我的第一个想法是使用hashCode()
类的Raster
方法来计算一个可以保存在数据库中并易于比较的值。但是,BufferedImage
和Raster
都不会覆盖hashCode
。
public boolean hasAvatarChanged(BufferedImage image, int hashCode) {
// ...
}
所以,这种方法行不通。