是否可以在经常修改的对象上使用缓存?例如,假设我们有一个BlogPost对象,并且有一个num_of_views列(以及其他)经常更改。是否可以在高速缓存和数据库中更新num_of_views字段,而无需破坏高速缓存对象并重新创建它?我可以手动完成,但是我担心同步问题。
是的。我不知道您的缓存状况如何,但是您可以随时替换缓存实例:
public function updatePost($post_id, $num_of_views) { if (Cache::has('POST.'.$post_id)) { $post = Cache::get('POST.'.$post_id); } else { $post = Post::find($post_id); } $post->num_of_views = $num_of_views; $post->save(); Cache::put('POST.'.$post_id, $post); }