1.缓存穿透:如果没有缓存,高并发会直接访问数据库。可以设置一个值为null的缓存。
2.缓存击穿:当高并发请求,而缓存过期或没有数据,需要从数据库读取数据。这时可以采用分布式锁,只有一个线程更新并写入。
3.自增: incr article:readcount:100
4.分布式锁: setnx product:101 返回1为true