微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis面试题

  • 什么是redis
    redis是用c语言开发的存储结构是key-value形式的高性能内存型数据库,可以用来做数据库,缓存,消息中间件等,
    是on sql的一种数据库

  • 特点
    运行在内存中,性能高,读写速度快,
    单线程处理请求,安全,
    支持多种数据类型,
    支持数据持久化,就是可以保存在磁盘中,
    可以设置主从复制,哨兵,
    可以作分布式锁,
    消息中间件,支持发布订阅

  • 五种数据类型
    String 字符串 基本类型 value可以是数字 最大存储512M
    hash 散列 是键值对的集合,
    list 列表 字符串列表
    set 集合 无序集合 自动去重
    sorted set 有序集合 有序集合结构中添加一个排序级,可以自定义

  • 应用场景
    list 消息队列
    set 共同好友,
    sorted set 排行榜
    计数器

  • Nosql有哪些?
    Redis,MongoDB,

  • redis可执行文件
    redis-server 启动redis
    redis-cli redis客户端
    redis-check-aof aof持久化检测和修复
    redis-check-dump rdb持久化文件
    redis-sentinel 启动redis sentinel 哨兵
    redis-benchmark redis基准测试工具 就是用来检测命令是否正确

  • 启动方式
    ./redis-server
    ./redis-server redis.conf

  • 如何停止redis服务
    kill -9 pid (粗暴)
    shutdown| exit (优雅)

  • 持久化方式
    rdb 将当前进程数据生成快照保存到数据库中,速度快
    aof 以日志的形式记录每次执行命令到aof文件中,数据实时

  • redis事务
    能将多个命令放到一个事务中,按照顺序执行,的队列机制, 开始事务mulit 命令入队 执行事务exec|放弃事务discard

  • 什么是布隆过滤器
    可以检索一个元素是否在一个集合中,一帮用来判断对数据进行校验,

  • 什么是缓冲穿透
    缓存没有命中查询数据库也没有查询到,
    解决问题,缓冲空对象,布隆过滤器,

  • 什么是缓冲击穿
    一个key在被高访问是突然缓存失效了,所有访问压力到达了底层数据库中,是缓存没有数据,数据库有数据,
    解决问题: key缓存不过期 ,分布式锁,排队,

  • 什么是雪崩
    一个时间段内,key集体失效,导致访问到数据库中,比如redis宕机,key过期
    解决问题,部署多台redis服务器,数据预热,

  • 什么是数据预热
    提前将数据加载到缓存中,避免了先查库在缓存,

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐