【Redis】干货分享!99.99%可能被问到的18道Redis题目(附参考答案)!收藏转发给搭子们吧!

1.    Memcached 与 Redis 的异同

  • 共同点

1.都是基于内存的数据库,一般都用来当作缓存使用

2.都有过期策略

3.两者的性能都非常高

  • 异同点

1.Redis 支持更丰富的数据类型,Memcached 只支持最简单的 k/v 数据类型,所有的值均是简单的字符串

2.Redis 支持数据的持久化,而 Memecache 把数据全部存在内存之中,重启之后数据丢失

3.Redis 有灾难恢复机制,因为可以把缓存中的数据持久化到磁盘上

4.Redis 在服务器内存使用完之后,可以将不用的数据放到磁盘上。但 Memcached 在服务器内存使用完之后,就会直接报异常

5.Memcached 没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据;但 Redis目前是原生支持 cluster 模式的

6.Memcached 是多线程,非阻塞 IO 复用的网络模型;Redis 使用单线程的多路 IO 复用模型

7.Redis 支持发布订阅模型、Lua 脚本、事务等功能,而 Memcached 不支持。并且,Redis 支持更多的编程语言

8.Memcached 过期数据的删除策略只用了惰性删除,而 Redis 同时使用了惰性删除与定期删除

2.    Redis为什么这么快?

图片

3.    Redis 的数据类型

Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zsetsorted set:有序集合)

实际中我们最为常用的还是 string 类型,不过还有几种高级数据类型我们也需要了解掌握:BloomFilter,RedisSearch,Redis-ML,还有更高级的数据类型,BloomFilter,RedisSearch,Redis-ML

图片

4.    缓存数据的处理流程

缓存的简单处理流程如下:

1.         如果用户请求的数据命中缓存,就直接返回

2.         缓存中不存在的话,查看数据库中是否存在

3.         如果数据库中存在,则更新缓存中的数据

4.         如果数据库中不存在,则返回空数据

图片

5.    一个字符串能存储的最大容量

512 M

6.    为什么要使用缓存

  • 高性能

将高频访问的数据放进缓存,保证高频操作可以快速响应,提高系统响应速度和用户体验

  • 高并发

一般像 MySQL 这类数据库的 QPS 大概都在 1w 左右(4 核 8g) ,但是使用 Redis 缓存之后很容易达到 10w+,甚至最高能达到 30w+(redis 集群的话会更高)

/*

系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

frank hwang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值