|每天五分钟,成就redis大神之为什么需要使用redis( 二 )


这时就需要在用户与数据库之间在加一层缓冲层 , 让请求先访问到redis , 由于redis基于内存的数据库 , 响应速度快 , 网络层使用epoll解决高并发问题 , 单线程模型避免了不必要的上下文切换及竞争条件 。 然后再定时把redis中的数据更新到数据库中 , 保证数据的最终一致性 。
有些人说mysql也有缓存啊 , 在执行sql语句时 , 会将可以作为缓存的sql结果保存在查询缓存中 , 这样当有相同的SQL查询时 , 可以直接从缓存中查询结果 。 但是呢 , 你要知道这个缓存是本地缓存 , 例如mysql数据库A建立了一个sql1的缓存 , 当再次在数据库A上查询sql1这条语句时 , 可以直接从缓存中读取;如果此时mysql数据库做了集群增加了一台mysql数据库B , 那如果sql1被请求到数据库B那么它将无法使用缓存查询 。 而且单表结构或者内容发生变化时 , 这个表的缓存查询也将失效 。
使用redis作为缓存将受这个影响很小 , 因为它是基于键值对保存缓存的 , 只有key对应的缓存内容发生变化 , 才会受到影响 , 其他key对应缓存内容发生变化对其几乎是没有影响的 。
以上内容都属于对redis的背景知识了解 , 后面的文章将对redis的基础知识 , 如何正确使用redis以及redis集群哨兵模式等做讲解
----------------------------End-----------------------------------------
【|每天五分钟,成就redis大神之为什么需要使用redis】你的一个赞一个关注是我创作的动力 , 是我持续输出的能量源泉 , 老铁关注一波吧!