Redis常见面试题(二)

news2025/1/17 6:19:09

目录

1、Redis和Memcached有什么区别?

2、Redis支持哪些数据类型?

3、Redis支持JSON数据类型吗?为什么?

4、Redis模块系统有什么用?

5、Redis支持对象映射模型吗?

6、Redis默认支持多少个数据库?怎么修改?

7、Redis SET命令可以代替SETNX吗?

8、Redis单个实例最多能存放多少个键?

9、Redis单个Set, List最多能存放多少个元素?

10、Redis最大key大小?


1、Redis和Memcached有什么区别?

  1. Redis 只使用单核,而 Memcached 可以使用多核。
  2. MemCached 数据结构单一,仅用来缓存数据,而 Redis 支持多种数据类型
  3. MemCached 不支持数据持久化,重启后数据会消失。Redis 支持数据持久化
  4. Redis 提供主从同步机制和 cluster 集群部署能力,能够提供高可用服务。Memcached 没有提供原生的集群模式,需要依靠客户端实现往集群中分片写入数据。
  5. Redis 的速度比 Memcached 快很多。
  6. Redis 使用单线程的多路 IO 复用模型,Memcached使用多线程的非阻塞 IO 模型。

2、Redis支持哪些数据类型?

基本数据类型

1、String:最常用的一种数据类型,String类型的值可以是字符串、数字或者二进制,但值最大不能超过512MB。

2、Hash:Hash 是一个键值对集合。

3、Set:无序去重的集合。Set 提供了交集、并集等方法,对于实现共同好友、共同关注等功能特别方便。

4、List:有序可重复的集合,底层是依赖双向链表实现的。

5、SortedSet:有序Set。内部维护了一个score的参数来实现。适用于排行榜和带权重的消息队列等场景。

特殊的数据类型

1、Bitmap:位图,可以认为是一个以位为单位数组,数组中的每个单元只能存0或者1,数组的下标在 Bitmap 中叫做偏移量。Bitmap的长度与集合中元素个数无关,而是与基数的上限有关。

2、Hyperloglog。HyperLogLog 是用来做基数统计的算法,其优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。典型的使用场景是统计独立访客。

3、Geospatial :主要用于存储地理位置信息,并对存储的信息进行操作,适用场景如定位、附近的人等。

4、Streams(流)

3、Redis支持JSON数据类型吗?为什么?

Redis基本数据类型不支持JSON,不过可以通过Redis 4.0中的模块系统进行支持。模块名: RedisJSON

模块地址: hts:/oss.rediss com/redisjson/

 

4、Redis模块系统有什么用?

Redis 中的模块系统: Redis Modules

System,是Redis 4.0中的重大改进。可以通过外部模块对Redis功能进行动态扩展,如果官方

不支持的功能,我们可以开发一个模块进行支持。

5、Redis支持对象映射模型吗?

Redis重磅官宣: Redis OM发布,即: Object Mapping,支持对象映射,像操作对象一样操作

Redis! !

当然,Redis OM的横空出世不仅仅是对象映射,它更多的是提供一个高级的抽象类库,目标就是让开发人员更简单车方便的使用Redis数据。

Redis OM支持的第一个抽象就是: 对象映射,支持基于对象的Redis 数据持久化、流式查询操作。

目前只支持4种开发语言:

●Redis OM for Spring (Java)

●Redis OM for .NET

●Redis OM for Node.js

●Redis OM for Python

6、Redis默认支持多少个数据库?怎么修改?

Redis默认支持16个数据库。

可以通过修改Redis 配置文件redis.conf中的databases一值进行变更。

如修改为20个:

 

Redis不会限制最大的数据库数量,但是会限制最小数据库数量为1个。

7、Redis SET命令可以代替SETNX吗?

答案:看版本,目前的版本肯定可以了。

从2.6.12 版本开始,Redis 为SET命令增加了一系列选项:

Ex   seconds -设置键key的过期时间,单位:秒;

PX    milliseconds 一设置键key的过期时间,单位:毫秒;

NX   一只有键key不存在的时候才会设置key的值;

XX-只有键key存在的时候才会设置key的值;

SET命令加上这些选项,已经可以完全取代SETNX, SETEX, PSETEX的功能,所以在将来的版

本中,Redis 可能会不推荐使用,并且最终抛弃这几.个命令,

8、Redis单个实例最多能存放多少个键?

Redis最大可以存放2^32个键值,即如果没有设置最大内存,Redis 存储极限是服务器最大可用内存值。

9、Redis单个Set, List最多能存放多少个元素?

单个List、set、sorted set 都可以放2^32个元素。

10、Redis最大key大小?

The maximum allowed key size is 512 MB.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/93668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【浅学Java】索引的分类、创建、删除以及新特性

索引的创建和设计原则1. 索引的分类1.1 普通索引1.2 唯一性索引1.3 主键索引1.4 单列索引1.5 多列(联合,组合)索引1.6 全文索引2. 索引的创建2.1 创建表时创建索引1. 隐式创建2. 显式创建3. 全文检索2.2 创建表后创建索引1. alter table 的方…

基于java(ssm)家教管理平台(java毕业设计)

基于java(ssm)家教管理平台 家教管理,是基于java变成语言,mysql数据库,ssm框架和idea工具开发,本系统分为用户,管理员,教师三个角色,其中用户可以注册,登陆&…

网络工程师之海明校验

海明校验(又称汉明码) 基本思想 将有效信息按某种规律分成若干组,每组安排一个校验位,做奇偶测试,就能提供多位检错信息,以指出最大可能是哪位出错,从而将其纠正。 特点 它不仅具有检测错误的…

深入浅出网络编程TCP,UDP,Socket,Http网络编程面试题

目录 什么是网络编程 网络编程中的主要问题 计算机网络体系结构 TCP / UDP Socket HTTP 什么是网络编程 网络编程中的主要问题 计算机网络体系结构 OSI参考模型 OSI(Open System Interconnect),即开放式系统互联。一般都叫OSI参考模型&…

Geoserver提示HTTP ERROR 503 Service Unaviaiable以及Context initialization failed

场景 GeoServer简介、下载、配置启动、发布shapefile全流程(图文实践): GeoServer简介、下载、配置启动、发布shapefile全流程(图文实践)_霸道流氓气质的博客-CSDN博客_geoserver简介 geoserver版本为2.19.2,在windows10系统中正常启动并运行后&#…

教程篇 | 史上最简单也最全新手Revit教程

Hi,朋友们,我是建模助手。 近期发现,后台留言的画风日渐扭曲,很多用户的私信内容不仅跟有求必应无关,甚至跟建模助手也无关,而是关于Revit的问题。(这就很离谱了) 但后来小编也算是…

MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括

1、存储引擎 1.1、MySQL体系结构 连接层:最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证以及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限。服务层:第二层架构主要完成大多数的核心服务功…

Qt6 qtmqtt编译及演示示例(附带动态库)

前言 随着物联网的不断发展,如今很多项目都需要接入,而两年前也是因为项目需要,了解了一些关于mqtt的用法,并将其过程记录成几篇博客,近一年多时间陆陆续续有好多人私信咨询关于mqtt相关的问题,其中又有很…

ReentrantLock源码分析AQS原理

目录 (一)AQS简介 (二)AQS原理剖析 (三)源码思想-加锁: (1)构造方法 (2)公平锁lock方法(核心) 3、acquire获取资源方法(核心) (一)AQS简介 AQS是AbstractQueuedSynchronizer的简称,是一种实现阻塞锁和依赖FIFO队列的同步器框架。其依赖于一个原子变量state,子…

Unity Text Mesh Pro 浮动文字-学习

TextMeshPro(TMP)是unity的一套UI文字方案,支持对顶点、颜色进行编辑,自定义强,可扩展等优点。 对于英文数字即字符只需制作ASCII的文件即可,但是对于中文,如果我们的文字需要动态生成且不可控…

k8s教程(19)-pod之批处理调度

文章目录01 引言02 批处理调度2.1 任务模式分类2.1.1 按实现方式分类2.1.2 按批处理并行分类2.1 案例2.1.1 Job Template Expansion案例2.1.2 Queue with Pod Per Work Item案例2.1.3 Queue with Variable Pod Count案例03 文末01 引言 声明:本文为《Kubernetes权威…

思维方式之系统思维

这世界上的所有事物,都被规律作用着,以一种叫作“系统”的方式存在着。 我们身处时代这个大系统之中,如果没有一种全局的系统观,很容易就会和机遇失之交臂。凡事要顺势而为,用“个位”的管理对抗“千位”的时代&#…

精华推荐 |【Redis技术探索】「底层架构原理」深入透析主从架构的底层原理分析实现机制

📕技术箴言 当心中有更高的山峰去攀登,就不会在意脚下的泥沼。 📕前提概要 Redis高可用的方案包括:持久化、主从复制(及读写分离)、哨兵和集群(Cluster)。 📕&#x1f…

音视频面试涨知识(四)

视频格式播放体验流量占用情况DASH统计直播推流端到播放端延时。支持和视频帧绑定的内容交互。比如,直播答题在播放端的弹窗等。小HLS对视频进行切片,按切片播放,缓存小起播快;拖动时间轴到任意时间播放时,可以快速定位…

dubbo2和dubbo3 入门简介

稳定版本:2.5.3 目前已恢复更新Apache Dubbo 是一款微服务框架,为大规模微服务实践提供高性能 RPC通信、流量治理、可观测性等解决方案, 涵盖 Java、Golang 等多种语言 SDK 实现。3.0 版本的正式发布,标志着 Apache Dubbo 正式进入云原生时代。3.0 在通信协议、服务发现、部…

微服务框架 SpringCloud微服务架构 多级缓存 48 多级缓存 48.1 初识OpenResty

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 多级缓存 文章目录微服务框架多级缓存48 多级缓存48.1 初识OpenResty48.1.1 初识OpenResty48.1.2 安装OpenResty48 多级缓存 48.1 初识Open…

python 使用tk报错

文章目录Preface解决方法问题1:问题2: **tk.Tk()** 这里的 Tk 的 k 是小写错误信息 ~~并没有什么实际作用/提示~~Preface 最近刚开始学习用python 的时候遇到一个对于我这样的新手来说比较棘手的问题. 我查询了好久, 大多数给出的答案就是代码写错了 而且是不给错误行数的那种…

微服务框架 SpringCloud微服务架构 多级缓存 48 多级缓存 48.3 请求参数处理

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 多级缓存 文章目录微服务框架多级缓存48 多级缓存48.3 请求参数处理48.3.1 OpenResty获取请求参数48.3.2 直接上案例48 多级缓存 48.3 请求…

Service 与 Pod 有什么联系?

目录前言一、创建 Deployment二、创建 Service三、集群外部访问前言 首先我们要清楚,Pod 中的容器很可能因为各种原因故障而死掉,如果真的发生故障,那 Deployment 等 Controller 会通过动态创建和销毁 Pod 来保证应用整体的健壮性。而每个 P…

java的垃圾回收浅谈

目录 并发标记问题 三色算法问题 浮动垃圾问题 漏标问题 cms的解决方式 g1的解决方式 跨代(区)引用 CMS垃圾回收日志 G1垃圾回收日志 垃圾回收过程其实都包含两步:标记回收。 标记算法: 引用计数:每个对象都有一个计数器&#xff…