mysql和redis常见面试题_redis的一些常见面试题

1 、在项目中缓存是如何使用的?

2、为啥在项目里要用缓存呢?

用缓存,主要用途,高性能和高并发

高性能:

场景举例:假如有这么一个操作,用户发起请求,操作数据库,查出结果,耗时600ms,然后这个结果,在一段时间内都不会改变,或者说改变了也不用立即向用户反馈,那么这个时候就可以用缓存了,把查出来的结果直接放到缓存里,下次再有人来请求,就直接在缓存里通过key value键值对给到用户,性能提高!

简单的说就是,把一个复杂耗时的操作的结果,后面不怎么需要改变的结果,但是有很多的读取操作,就可以使用缓存,后面读取的时候直接从缓存中读就可以了。

高并发:因为数据库不支持高并发,像mysql最高也就支持到2000,然后我们把数据放到缓存中去,轻轻松松的十几万的并发,是mysql的几十倍。

3 、使用缓存有什么缺点?

1)缓存与数据库双写不一致

2)缓存雪崩

3)缓存穿透

4)缓存并发竞争

4、redis和memcached有什么区别?

redis:线程模型是单线程NIO异步的工作模型。

数据结构 :redis拥有更多的数据结构和更多的数据结构,很多复杂的操作跟高效

2.集群redis官方就是支持redis cluster集群模式,而menacahe不支持,需要依赖客户端。

5、redis都有哪些数据类型?

String

用来抢购,用来限制库存数量做一个计数器,就可以用string类型

分布式锁

string类型的setnx的作用是“当key不存在时,设值并返回1,当key已经存在时,不设值并返回0”,“判断key是否存在”和“设值”两个操作是原子性地执行的,因此可以用string类型作为分布式锁,返回1表示获得锁,返回0表示没有获得锁。

list

是一个有序列表,

可以用来做简单的点对点消息队列,和可以用来做粉丝列表,评论列表ÿ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值