@Cacheput的实际用例是什么?

时间:2019-03-26 08:08:48

标签: java spring

我了解@Cacheput会调用该方法,无论如何都会更新缓存中的结果?那么,如果每次都调用此方法,为什么我们首先需要此注释?

2 个答案:

答案 0 :(得分:1)

考虑一个使用dateparse = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S') df = pd.read_csv('/home/users/user/xxx.csv', parse_dates ={'date_time':[0,1,2,4]}) df['u_datetime'] = df['date_time'].values.astype(np.int64) // 10 ** 9 df_new = df[['u_datetime', 'location', 'count']] 批注简单地从数据库返回某些数据的API。而且,如果另一个api更新主数据源中的相同数据,则还需要更新缓存中的数据。在这里,对于第二个API,您需要使用@Cacheable注释来实现。

答案 1 :(得分:1)

  1. 为什么我们首先需要这个注释?

这是语法表达式,您要告诉spring容器启用缓存。最终它将覆盖具有相同键的任何内容。

  1. 现实生活场景 产品刷新操作,如果价格有任何变化,您希望重新计算特定的产品详细信息,然后将该产品存储在缓存中以备将来参考。 @CachePut最终将覆盖缓存中具有相同键的任何内容。

@Cacheput将仅更新陈旧的值,因此每次都会调用该方法来更新缓存。