Redis面试题集(一)

1、介绍一下Redis

Redis是一款使用C语言编写的高性能key-value数据库。

特点:

支持数据持久化,对数据的更新采用Copy-on-write技术,可以异步地保存到磁盘上。

丰富的数据类型,String Hash List Set  Sored Set。

原子性,Redis的所有操作都是原子性。

支持数据的备份,快速的主从复制。

节点集群,很容易将数据分布到多个Redis实例中。

2、Redis持久化机制有哪些?各有什么优缺点?

 RDB:指使用数据集快照的方式半持久化模式,记录redis数据库的所有键值对,在某个时间点将数据写入一个临时文件。持久化结束后,用这个临时文件替换上次持久化的文件,可恢复数据。

优点是性能较高,恢复操作简单。

缺点是安全性较低,RDB是每间隔一段时间进行持久化,若期间redis发生故障,可能会发生数据丢失。

AOP:指所有的命令行记录以redis命令请求协议的格式完全持久化存储,保存为aop文件。

优点是数据安全,缺点是恢复速度慢。

3、Redis过期键的删除策略有哪些?

定时删除:在设置键的过期的时间的同时,创建一个定时器,达到过期时间,执行键的删除操作。

惰性删除:不主动删除过期键,从键空间中获取键时,都检查取得的键是否过期,过期则删除,没过期则返回。

定期删除:每隔一段时间对数据库进行一次检查,删除里面的过期键。删除多少过期键、检查多少个数据库,由算法决定。

4、为什么Redis所有数据放到内存中?

1、Redis为了达到的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘,所以Redis具有高速读写和数据持久化的特征。

2、如果程序直接与磁盘交互,磁盘IO速度会严重影响Redis性能。

3、内存的硬件成本降低,使得Redis更受欢迎。

5、Redis有哪些适用场景? 

会话缓存 全页缓存  秒杀系统 计数器 发布和订阅

6、 Redis如何做内存优化?

1.缩减键值对象:满足业务要求下越短越好,value值进行适当压缩。

2.共享对象池:即在开发过程中尽量适用整数对象以节省内存。

3、尽可能使用散列表。

4、编码优化,控制编码类型。

5、控制key的数量。

 未完待续~~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值