M('User')->cache('prefix=小明')->field('不管你字段怎么变化')->where(array('name' => '小明'))->select();cache('User', NULL, 'prefix=小明'); 删除表User前缀为小明的所有查询缓存问题如下我的网站有一万用户。需要用到查询缓存。如:
M('User')->cache(true)->field('id,name')->where(array('name' => '小明'))->select();我希望在User表数据发生变化时,只更新发生变化的缓存。而不是更新所有缓存。那现在怎么更新呢???此时我想到给缓存取个名字,如:M('User')->cache('缓存名+小明')->field('id,name')->where(array('name' => '小明'))->select();现在就可以根据缓存名字删除指定的缓存了。。。不过现在又出现问题了。我想改变SQL字段。如:M('User')->cache('缓存名+小明')->field('新的字段')->where(array('name' => '小明'))->select();这样缓存就会覆盖以前的,会出现错误。。。当然可以取新的缓存名字,但太复杂了,难道每次字段不同都要取不同的名字吗?数据变化时如何更新缓存??? 