Redis 是单线程的,那么如果我们在多线程的情况下对redis进行操作,是否会报错。还是说多线程操作只会造成脏数据,不会报错?
因为我们一般在set 操作的时候都会 加锁。这样就不会有多个线程同事操作导致并发问题。
那么加锁会带来一定性能上面的开销,那么是否所有的操作都需要加锁,比如我们查询get 一个值的时候,是否也需要加锁,因为我们有时候其实是不需要进行加锁操作的。
现在不太清楚的的点就是,如果不加锁会不会导致多线程报错?
测试下不就知楼!
不会,redis本身是单线程的,不管你使用方怎么用,请求都是一个接一个的处理。