
如数据表(User)字段有:
id
name
age
即将插入一条信息【1,“名字”,22】
在插入数据之前,先
select
count(*)
from
User
where
id=1
and
name='名字'
and
age=22
假若查询出来不为0,那么数据就重复了。
根据这条线,很容易写出完整代码了。
就是一个id只能访问一次吗?1,在调用方法前要有控制
2,判定id是否访问过
比较简单的,比如访问过的id存起来,调用前查一下看看是不是已经有了,有了不允许访问
然后说点逼格高的,
1,用数据库保存已经访问的id,但是数据库会慢一点
2,用缓存保存先过滤一下,不过会越来越大。id不长还是能存很多很多很多的,如果缓存失效再向库里查,万无一失
3,布隆过滤器特别适合你这个,每次id访问过来就加到过滤器里面,后面直接先用布隆过滤器过滤下,性能特别高,误判再往后面缓存数据库走就行
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)