redis题目(一)
Redis作为一个内存数据库并不适用于存储大量数据
A 使用ttl key时返回-1,表示该key已经过期
B dbsize查看数据库的空间大小
C flushall 删除所有数据库的所有 key
D selectdb用于切换数据库
10.下面关于Redis支持的HyperLogLog数据类型,错误的说法是()
A HyperLogLog数据类型的应用场景包括统计网站的UV(独立访客)
B 应用HyperLogLog数据类型时可能存在一定的错误率
C HyperLogLog数据类型占用内存是固定的
11.下面关于Redis 中RDB 与AOF两种持久化机制的比较,错误的是()
A 对业务数据敏感的应用场景选用AOF持久化机制
B 追求大数据集恢复速度的应用场景选用RDB持久化机制
C AOF持久化机制比RDB持久化机制的存储速度快
D AOF持久化机制比RDB持久化机制的恢复速度快
12.下面关于Redis中string数据类型的数据结构,正确的说法是()
A string的数据类型是简单静态字符串(simple static string)
B string的内部结构实现上类似Java的HashMap
C string进行扩容时是加倍现有空间
D string采用预分配冗余空间的方式来减少内存的频繁分配
13.下面关于Redis中配置文件的说法,正确的是()
A Redis同时支持bytes和bit两种单位
B 当Redis以“includes”的方式引入其他配置文件时,如果同一个配置项在不同配置文件中都有定义,那么以最后面的配置项为准
C 在高并发情况下设置较低的tcp-backlog值以避免TCP的慢连接问题
D Redis支持通过loglevel配置项设置日志等级,共分三级,即debug、notice、warning
14.下面关于Redis中set数据类型的操作指令,正确的是()
A 执行smembers <key> 命令可以获取该集合的元素个数
B 执行spop <key> 将从集合中吐出第一个值
C sismember <key> <value>用于判断成员元素是否是集合的成员
D sunion <key1> <key2> 返回两个集合的交集元素
15.关于Redis的持久化,下列描述错误的是:()
A RDB是以快照的形式,将内存中的数据整体拷贝到硬盘上。
B 执行RDB存储时会产生阻塞,因此RDB不适合实时备份,而适合定时备份。
C AOF是以日志形式,将内存中的数据整体拷贝到硬盘上
D AOF操作的实时性好,但是产生的数据体积大,数据的恢复速度慢。
16.下面不属于Redis 中主从复制机制缺陷的是()
A 无法实现数据冗余
B 故障恢复无法自动化
C 写操作无法负载均衡
D 存储能力受到单机的限制
17.下面关于Redis 数据存储中redisObject对象的说法,错误的是()
A type字段表示对象的类型,占4个比特
B encoding表示对象的内部编码,占4个比特
D refcount记录的是该对象被引用的次数,占4个字节
ru记录对象最后一次被命令程序访问的时间,占据的比特数不同的版本不同,4.0版本占24个比特,在2.6版本占22比特
A 各节点在启动节点阶段建立联系
B 集群配置文件需要人工修改
C 当数据库中半数的槽分配了节点,集群处于上线状态
D 集群中指定主从关系使用cluster replicate命令
19.下面关于Redis支持的list数据类型,错误的说法是()
A list数据类型具有单键多值的特点
B list数据类型底层是双向链表
C list数据类型数据有序
D list数据类型数据不支持索引下标操作
list数据类型数据支持索引下标操作,只是性能较差
20.redis在的有序集合中在数据量极少(小于128个)的情况下使用以下哪种存储方案
A 压缩表
B 跳跃表
C 散列表
D 双向链表
zset底层的存储结构包括ziplist或skiplist,在同时满足有序集合保存的元素数量小于128个和有序集合保存的所有元素的长度小于64字节的时候使用ziplist,其他时候使用skiplist。
各节点在启动节点阶段是独立的,并没有建立联系;集群配置文件由Redis节点维护,不需要人工修改;当数据库中的16384个槽都分配了节点时,集群处于上线状态。
Redis不支持事务回滚,MySQL支持事务回滚
Redis以Multi事务的开始,以Exec执行事务的commands队列;MySQL以Begin开启一个事务,以Commit提交事务
Redis实现事务基于commands队列; MySQL实现事务基于undo/redo日志
zset数据类型中成员是唯一不可重复的,但评分不是
Redis 使用ziplist(压缩列表)来实现zset类型时需要满足zset类型元素个数小于zset-max-ziplist-entries
Redis 使用ziplist(压缩列表)来实现zset类型时需要满足zset类型所有member的长度小于zset-max-ziplist-value
zset通过用户额外提供一个评分(score)的参数来为集合中的成员进行排序,并且是插入有序
集群可以将数据分散到多个节点
Redis是基于C语言开发的一个开源的高性能数据库
Redis是一种单线程高性能的内存数据库
Redis除支持string(字符串)、hash(哈希)、list(列表)、set(集合)及zset(有序集合)五种数据类型外,还支持geospatial、hyperloglog、bitmapden等数据类型
如果从节点中设置了masterauth选项,则从节点需要向主节点进行身份验证;没有设置该选项,则不需要验证
Redis2.8版本以前是从节点向主节点发送sync命令开始同步,之后是从节点向主节点发送psync命令开始同步
主节点发送写命令后并不会等待从节点的回复,命令传播是异步的过程。
redis未授权的利用方法:
1.利用crontab反弹shell:直接向靶机的Crontab写入任务计划,反弹shell回来
2.写入webshell:当自己的redis权限不高时,可以向web里写入webshell,但需要对方有web服务且有写入权限
3.写ssh-keygen公钥然后使用私钥登陆
(1)redis对外开放,且是未授权访问状态
(2)redis服务ssh对外开放,可以通过key登入
hash的值本身也是一个键值对结构
zset是有序不可重复的
Redis 6.0版本的多线程部分只是用来处理网络数据的读写和协议解析,执行命令仍然是单线程
Redis 6.0版本提供了ACL功能,支持更细粒度的权限控制
Redis 6.0版本在兼容 RESP2 的基础上支持 RESP3
Redis 6.0改进了命令行的超时选项
georadius用于以给定的经纬度为中心,找出某一半径内的元素
geopos用于获取当前定位
georadiusmember用于找出位于指定元素范围内的其他元素;
geohash用于返回一个或多个位置元素的geohash表示
AOF缓存区的同步文件策略由参数appendfsync控制
AOF持久化机制的常用配置根据auto-aof-rewrite-min-size和auto-aof-rewrite-percentage参数确定自动触发条件
Redis6.0版本引入了多线程的目的是解决Redis在网络 I/O 上的性能瓶颈
如果从节点保存的runid与主节点现在的runid不同,说明从节点在断线前同步的Redis节点并不是当前的主节点,只能进行全量复制
通过info Server命令,可以查看节点的服务器运行ID(runid)
复制偏移量(offset)代表主节点向从节点传递的字节数
复制积压缓冲区的作用是备份主节点最近发送给从节点的数据
info sentinel用于获取监控的所有主节点的基本信息
sentinel master mymaster用于获取监控的主节点mymaster的详细信息
sentinel sentinels mymaster用于获取监控的主节点mymaster的哨兵节点的详细信息
sentinel failover mymaster用于强制对mymaster执行故障转移
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?