Redis常见面试题--基础篇

问:你了解redis数据库吗?

答:redis数据库是一种非关系型数据库,它的数据存储采用key-value形式,整个数据库的加载都在内存当中,因此它的速度非常快。

问:你知道redis为什么这么快吗?

redis采用内存存储,因此读写速度非常快,没有IO开销。并且redis采用单线程+IO多路复用,在保证线程安全的情况下将速度提升到最佳。

问:我们为什么要使用redis?

答:redis可以作为缓存中间件,我们可以将数据库中频繁访问的数据存放到redis中,用户在访问的时候直接走redis返回,降低数据库的并发量,不仅提高数据库的安全同时提高了系统的性能。

问:redis可以用来干什么?

  • 做缓存中间件
  • 排行榜:redis中提供了有序集合的数据结构---sort set,可以实现排行榜。
  • 计数器:redis提供了incr命令来实现计数器功能,性能非常好,还不用去频繁操作数据库。
  • 分布式会话:集群模式下,在应用不多的情况下一般使用容器自带的session复制功能就能满足,当应用增多相对复杂的系统中,一般都会搭建以Redis等内存数据库为中心的session服务,session不再由容器管理,而是由session服务及内存数据库管理。
  • 分布式锁:在高并发环境下可以利用redis中提供的setnx来实现分布式锁,返回1说明获取锁成功。
  • 最新列表:Redis列表结构,LPUSH可以在列表头部插入一个内容ID作为关键字,LTRIM可用来限制列表的数量,这样列表永远为N个ID,无需查询最新的列表,直接根据ID去到对应的内容页即可。
  • 消息系统:Redis提供了发布/订阅及阻塞队列功能,能实现一个简单的消息队列系统。

问:redis的数据类型有哪些?

  • string
  • hash
  • list
  • set
  • soetset
  • bitmap
  • Hyperloglog:
  • Geospatial

下篇:redis常见面试题-CSDN博客

相关推荐
lifallen10 分钟前
Paimon vs. HBase:全链路开销对比
java·大数据·数据结构·数据库·算法·flink·hbase
Brookty1 小时前
【MySQL】JDBC编程
java·数据库·后端·学习·mysql·jdbc
先做个垃圾出来………2 小时前
SQL的底层逻辑解析
数据库·sql
码不停蹄的玄黓2 小时前
深入拆解MySQL InnoDB可重复读(RR)隔离级别:MVCC+临键锁如何「锁」住一致性?
数据库·mysql·可重复读
paopaokaka_luck2 小时前
基于SpringBoot+Vue的酒类仓储管理系统
数据库·vue.js·spring boot·后端·小程序
薛晓刚3 小时前
哪个领域数据库最难替换?
数据库
芷栀夏3 小时前
基于Anything LLM的本地知识库系统远程访问实现路径
数据库·人工智能
软件2054 小时前
【redis使用场景——缓存——数据淘汰策略】
数据库·redis·缓存
ChinaRainbowSea4 小时前
9-2 MySQL 分析查询语句:EXPLAIN(详细说明)
java·数据库·后端·sql·mysql
时序数据说4 小时前
Java类加载机制及关于时序数据库IoTDB排查
java·大数据·数据库·物联网·时序数据库·iotdb