DeathWhispers

Redis如何保证与数据库的数据一致

Redis如何保证与数据库的数据一致 当我们对数据进行修改的时候,到底是先删缓存,还是先写数据库? 1. 如果先删缓存,再写数据库 在高并发场景下,当第一个线程删除了缓存,还没有来得及写数据库,第二个线程来读取数据,会发现缓存中的数据为空,那就会去读数据库中的数据(旧值、脏数据),读完之后,把读到的结果写入缓存(此时,第一个线程已经将新的值写到缓存里面了),这样缓存中的值就会被覆盖为修...

Redis为什么这么快

Redis为什么这么快 完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是时间复杂度低O(1) 数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的 采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程的切换而消耗CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因...