• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

冬日限定

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

redis题目(一)

1.关于Redis的RDB持久化策略,说法错误的是
A RDB持久化是将当前进程数据以生成快照的方式保存到硬盘的过程
B Redis默认的持久化机制是RDB持久化机制
C RDB持久化模式可以做到实时的持久化
D 执行BGSAVE命令时要执行fork操作创建子进程
BGSAVE每次运行都要执行fork操作创建子进程,这属于重量级操作,不宜频繁执行,因此,RBD没法做到实时的持久化。
2.下面关于Redis的应用场景,错误的说法是()
A Redis作为数据库实现海量数据的存储
B 作为中间件广泛应用于分布式缓存
C Redis作为计算工具统计PV、UV等数据
D Redis可以实现分布式锁

Redis作为一个内存数据库并不适用于存储大量数据

3.下面关于Redis中zset数据类型与list数据类型的比较,错误的说法是()
A zset与list中的数据都是有序的
B zset相较于list更耗内存
C zset相较于list访问中间元素更快
D zset与list相比的底层数据结构都是链表
zset的底层数据结构是散列表和跳跃表,list的底层数据结构是链表
4.下面关于Redis 中RDB 与AOF两种持久化机制的比较,错误的是()
A 对业务数据敏感的应用场景选用AOF持久化机制
B 追求大数据集恢复速度的应用场景选用RDB持久化机制
C AOF持久化机制比RDB持久化机制的存储速度快
D AOF持久化机制比RDB持久化机制的恢复速度快
AOF持久化机制比RDB持久化机制的恢复速度慢
5.下面不是Redis的命令的有?
A clean
B smem SMEMBERS KEY属于SET数据结构的命令用来获取key中所有元素
C keys
D lrange
6.下面关于非关系型数据库Redis与Mongodb的比较,正确的说法是()
A MongoDB将数据存放在内存,当内存不够时,只将热点数据放入内存,其他数据存在磁盘;Redis将数据全部存在内存, 当内存不够时,可以选择指定的LRU算法删除数据
B Mongodb和Redis都支持事务
C Redis内置数据分析功能, Mongodb不支持
D Mongodb支持的查询语言丰富,Redis支持的数据类型丰富
Mongodb不支持事务,Redis支持事务;选项中Mongodb内置数据分析功能, Redis不支持;Redis支持的查询语言丰富,Mongodb支持的数据类型丰富。
7.下面关于Redis 6.0版本中的操作命令,正确的说法是()

A 使用ttl key时返回-1,表示该key已经过期

B dbsize查看数据库的空间大小

C flushall 删除所有数据库的所有 key

D selectdb用于切换数据库

ttl key时返回-2,表示该key已经过期;dbsize查看当前数据库的key的数量;select用于切换数据库
8.下面关于Redis持久化机制的说法,错误的是()
A Redis的默认采用AOF持久化机制
B RDB持久化机制是以快照形式存储数据结果,存储格式简单
C AOF持久化机制是以日志形式存储操作过程,存储格式复杂
D 持久化的目的是防止数据的意外丢失,确保数据安全性
9.下面关于Redis中SDS(简单动态字符串)的说法,错误的是()
A SDS在C字符串的基础上加入了free和len字段
B SDS可以实现修改字符串时内存的重分配
C SDS可以存取二进制数据
D 由于SDS记录了长度,可以杜绝缓冲区溢出
对于C字符串,如果要修改字符串,必须要重新分配内存,而对于SDS,由于可以记录len和free,因此解除了字符串长度和空间数组长度之间的关联,可以在此基础上进行优化:空间预分配策略(即分配内存时比实际需要的多)使得字符串长度增大时重新分配内存的概率大大减小;惰性空间释放策略使得字符串长度减小时重新分配内存的概率大大减小。

10.下面关于Redis支持的HyperLogLog数据类型,错误的说法是()

A HyperLogLog数据类型的应用场景包括统计网站的UV(独立访客)

B 应用HyperLogLog数据类型时可能存在一定的错误率

C HyperLogLog数据类型占用内存是固定的

D HyperLogLog数据类型通过存储输入元素加速基数统计
HyperLogLog不存储输入元素

11.下面关于Redis 中RDB 与AOF两种持久化机制的比较,错误的是()

A 对业务数据敏感的应用场景选用AOF持久化机制

B 追求大数据集恢复速度的应用场景选用RDB持久化机制

C AOF持久化机制比RDB持久化机制的存储速度快

D AOF持久化机制比RDB持久化机制的恢复速度快

AOF持久化机制比RDB持久化机制的恢复速度慢

12.下面关于Redis中string数据类型的数据结构,正确的说法是()

A string的数据类型是简单静态字符串(simple static string)

B string的内部结构实现上类似Java的HashMap

C string进行扩容时是加倍现有空间

D string采用预分配冗余空间的方式来减少内存的频繁分配

string的数据类型是简单动态字符串(simple Dynamic string),string的内部结构实现上类似Java的ArrayList,string扩容机制如下:当字符串长度小于 1M 时,扩容都是加倍现有的空间;如果超过 1M,扩容时一次只会多扩 1M 的空间,需要注意的是字符串最大长度为 512M。

13.下面关于Redis中配置文件的说法,正确的是()

A Redis同时支持bytes和bit两种单位

B 当Redis以“includes”的方式引入其他配置文件时,如果同一个配置项在不同配置文件中都有定义,那么以最后面的配置项为准

C 在高并发情况下设置较低的tcp-backlog值以避免TCP的慢连接问题

D Redis支持通过loglevel配置项设置日志等级,共分三级,即debug、notice、warning

Redis只支持bytes,不支持bit单位,在高并发情况下设置较高的tcp-backlog值以避免TCP的慢连接问题,Redis支持通过loglevel配置项设置日志等级,共分四级,即debug、verbose、notice、warning

14.下面关于Redis中set数据类型的操作指令,正确的是()

A 执行smembers <key> 命令可以获取该集合的元素个数

B 执行spop <key> 将从集合中吐出第一个值

C sismember <key> <value>用于判断成员元素是否是集合的成员

D sunion <key1> <key2> 返回两个集合的交集元素

执行smembers <key> 命令可以取出该集合的所有值,执行spop <key> 将从集合中随机吐出一个值,sunion <key1> <key2> 返回两个集合的并集元素。

15.关于Redis的持久化,下列描述错误的是:()

A RDB是以快照的形式,将内存中的数据整体拷贝到硬盘上。

B 执行RDB存储时会产生阻塞,因此RDB不适合实时备份,而适合定时备份。

C AOF是以日志形式,将内存中的数据整体拷贝到硬盘上

D AOF操作的实时性好,但是产生的数据体积大,数据的恢复速度慢。

AOF持久化方式是将redis的操作日志以追加的方式写入磁盘文件中。

16.下面不属于Redis 中主从复制机制缺陷的是()

A 无法实现数据冗余

B 故障恢复无法自动化

C 写操作无法负载均衡

D 存储能力受到单机的限制

17.下面关于Redis 数据存储中redisObject对象的说法,错误的是()

A type字段表示对象的类型,占4个比特

B encoding表示对象的内部编码,占4个比特

C lru记录对象最后一次被命令程序访问的时间,占24个比特

D refcount记录的是该对象被引用的次数,占4个字节

ru记录对象最后一次被命令程序访问的时间,占据的比特数不同的版本不同,4.0版本占24个比特,在2.6版本占22比特

18.下面关于通过执行Redis命令搭建集群的说法,正确的是()

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个槽都分配了节点时,集群处于上线状态。

主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式
set数据类型可进行数学集合运算
list数据类型都是通过索引下表实现有序
使用key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached
Memcached不支持数据持久化,Redis支持数据持久化
Redis只使用单核,Memcached可以使用多核
Redis比Memcached拥有更多的数据结构
Redis默认不开启事务;MySQL默认开启事务

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执行故障转移

posted on 2023-04-25 00:18  冬日限定  阅读(1073)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3