作为一个程序猿,日常开发当然少不了Redis,也用了有一段时间了,今天就和大家分享一下,先做几个问答吧。
1:什么是Redis?
Redis是一款基于C语言编写的key-value内存高速缓存数据库
2:Redis有哪些特点呢?
Redis本质上是一个key-value类型的内存数据库,因为是纯内存操作,每秒可以可以处理超过10万的读写操作,多用于缓存处理
Redis的出色之处不仅仅是性能,最大的魅力是支持多种数据结构(单个value最大1GB),因此redis可以实现很多日常所需的功能
比如它的哈希类型可以让我们通过key和field快速取出hash中指定fileld的value
比如list形式我们可以截取数据达到分页的效果
zSet的可以根据分值范围来排序等等,活学活用
3:Redis的缺点?
Redis的缺点时数据库容量收到物理内存的限制,不能用作海量数据的高性能读写,因此Redis更适合用作较小数据量的高性能读 写和运算上
4:使用Redis的好处,我为什么要用Redis?
速度快,支持多种数据类型。多用于缓存,消息。可以按key设置过期时间,过期后会自动删除
5:Redis淘汰策略?
Redis提供了六种淘汰策略
- 从已设置过期时间的数据集中挑选最近最少使用的数据淘汰
- 从已设置过期时间的数据集中挑选将要过期的数据淘汰
- 从已设置过期时间的数据集中挑选任意数据淘汰
- 从数据集中挑选最近最少使用的数据淘汰
- 从数据集中挑选任意数据淘汰
- 禁止淘汰数据
6:为什么Redis需要把数据放到内存中?
Redis为了达到最快的读写速度,将数据都读到内存中,并通过异步的方式把数据写入磁盘。所以Redis具有快速和数据持久化的 特征。如果不将数据放入内存中,磁盘I/O速度会严重影响Redis的性能。在Redis越来越便宜的今天,Redis会越来越受欢迎。如 果设置了最大使用的内存,达到内存限值后无法插入新值。