实际项目中很少有真的删除数据的情况。比如用户表tbl_user有一个默认字段isDeleted,当我们要删除这条数据时,实际执行的是
update tbl_user set isDeleted = 1 where id=xxx
那么,在使用Redis缓存插件时就无法做到这一点了。
https://github.com/nutzam/nutzmore/tree/master/nutz-plugins-daocache
实际项目中很少有真的删除数据的情况。比如用户表tbl_user有一个默认字段isDeleted,当我们要删除这条数据时,实际执行的是
update tbl_user set isDeleted = 1 where id=xxx
那么,在使用Redis缓存插件时就无法做到这一点了。
https://github.com/nutzam/nutzmore/tree/master/nutz-plugins-daocache
这跟redis没什么关系,这是daocache的逻辑如下:
对一个表进行非select操作, 清空该表的缓存
然后回到你提到的字段标示, 因为改了表里面的数据, 例如下面的SQL的结果集全都要变
select * from tbl_user where isDeleted=1;
select * from tbl_user where isDeleted=1 or xxx = 100;
select * from tbl_user where isDeleted=1 or xxx = 100;
select * from tbl_user where isDeleted !=1 and xxx = 10;