Redis高频面试点

1.Redis是单线程吗?

不完全是单线程。
一般说Redis是单线程,主要是指Redis的网络IO和键值对读写是由一个线程来完成的,这里也是Redis 对外提供键值存储服务的主要流程。

Redis的其他功能:持久化、异步删除、集群数据同步等,都是由额外的线程执行的。

2.Redis 单线程为什么还能这么快?

数据都是在内存中,操作也是在内存中操作,且单线程避免了线程间的切换而损耗的开销。

3. Redis 单线程如何处理并发客户端连接?

Redis的IO多路复用机制

redis利用epoll来实现IO多路复用,将连接信息和事件放到队列中,依次放到 文件事件分派器,事件分派器将事件分发给事件处理器。
在这里插入图片描述

4.Redis的一些高频命令

Keys:全局遍历键
用来列出所有满足特定正则字符串规则的key,当redis数据量比较大时, 性能比较差,要避免使用

例:
遍历所有:keys *
查询所有以 a 开头的键:keys a*

scan:渐进式遍历键
格式:SCAN cursor [MATCH pattern] [COUNT count]

  • cursor:整数值(hash桶的索引值)
  • MATCH pattern:key 的正则模式
  • COUNT count:一次遍历的key的数量(不精确,会波动)

第 一次遍历时,cursor 值为 0,然后将返回结果中第一个整数值作为下一次遍历的 cursor。一直遍历 到返回的 cursor 值为 0 时结束。
注意点:遍历过程中如果有新键插入,可能会遍历不到。

info:查看redis服务运行信息

  • Server : 服务器运行的环境参数
  • Clients : 客户端相关信息
  • Memory : 服务器运行内存统计数据
  • Persistence :持久化信息
  • Stats : 通用统计数据
  • Replication :主从复制相关信息
  • CPU : CPU 使用情况
  • Cluster :集群信息
  • KeySpace :键值对统计数量信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值