Redis 学习笔记 一 什么时候用缓存

本文探讨了使用缓存的原因,如减少SQL IO交互提高性能,以及何时使用缓存,通常在高并发场景下为高频数据提供快速访问。还列举了常见的缓存系统,如Memcached和Redis。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis 学习笔记 一 什么时候用缓存

本节开始,我就准备对redis的每个分支做具体的笔记阐述。这里我们都已经很熟练的使用缓存了。但是有没有想过,为啥用缓存,什么时候用缓存,常见的缓存有哪些?

1.为啥用缓存

在没有缓存的时候,我们一般的前端接口查询都是直接通过后台查数据库把数据返回给前台。我们知道一次sql 的io交互是比较耗性能的。当我们处于高并发的状态下查询数据瓶颈就在于sql查询这里,而且对该表有插入或者更新的时候也会对该资源进行锁定。

简单的说计算机系统分为如下三层结构:

  1. cpu,1-32MB 20-40ns
  2. 内存,32-96GB 100ns
  3. 磁盘,1-4TB 3-5ms

可见访问速度最快的是cpu,但是他的存储空间也是最小的。根据二八定律,在整个存储数据中大概只有20%的数据是我们频繁访问的,80%的数据甚少或者极少访问。因此我们只需要保证20%的数据做到快速访问就可以了。

因此缓存的目的,保证少数频繁被访问的数据快速被读到。避免每次被磁盘拖累。

2.什么时候使用缓存

刚刚说过,缓存的目的是保证20%频繁访问的数据快速的被读取出来。如果缓存和数据在同一层面,那么20%的数据和80%的数据查询没啥区别了。如果缓存放在数据的后面,我们的术语叫着持久化。因此缓存放置于业务数据的前面。

3.常见的缓存有哪些

  • MemCached

  • redis

    性能MemCachedRedis
    存储方式物理内存,当重启后所有数据会丢失,需要重新加载缓存。基于内存,RDB,AOF持久化的方式
    数据结构KEY-VALUE的形式,可以缓存图片,视频等string,hash,list,set,sortedset,bitmap,geo等丰富的数据结构
    集群服务器并不具有分布式功能,取决于客户端。哨兵模式检查主从节点的活性,Cluster集群模式,海量数据的高并发高可用场景。使用hashslot算法
    缓存策略可以指定失效时间,默认永久,采用LRU缓存策略一共有八种策略:不淘汰的,设置过期时间的(volatile-random,volatile-ttl,volatilte-lru,),全局数据的(allkeys-lru,allkeys-random,allkeys-lfu)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值