以下是Redis面试常见问题和解答的列表。
1)什么是Redis?
Redis是一个开源的高级键值数据存储和缓存。它也称为数据结构服务器, 其键不仅包含字符串, 而且还包含哈希, 集, 列表和排序集。
2)Redis是什么意思?
Redis代表远程字典服务器。
3)Redis与其他数据库有何不同?
Redis是一个NoSQL, 开源, 内存中数据结构存储。它遵循键值存储的原理。
它非常快速, 持久, 可移植, 并支持多种语言, 例如C, C ++, C#, Clojure, Common Lisp, D, Dart, Erlang, Go, Haskell, Haxe, Io, Java, JavaScript(Node.js), Julia, Lua, Objective-C, Perl, PHP, Pure Data, Python, R, Racket, Ruby, Rust, Scala, Smalltalk和Tcl。
欲了解更多信息, 请点击此处
4)Redis用哪种语言编写?
Redis用ANSI C编写, 主要用于缓存解决方案和会话管理。它为存储值创建唯一键。
5)Redis的用法是什么?
Redis是一个特殊的键值存储数据库, 可以用作NoSQL数据库或内存缓存存储, 以在提供存储在系统内存中的数据时提高性能。
6)如何与Redis相交?
服务器安装完成后, 可以运行redis安装提供的Redis Client, 也可以打开命令提示符并使用以下命令:
redis-cli
通过使用其中任何一个, 你都可以与Redis相交。
7)哪些最受欢迎的公司使用Redis?
Twitter, Github, Stackoverflow等是使用Redis的最受欢迎的公司。
8)Redis的主要功能是什么?
以下是Redis的主要功能:
- Redis的安装设置和管理非常简单。
- Redis非常快。它每秒可以执行100000个查询。
- Redis速度很快, 因为数据在内存中以及存储在磁盘上都是持久的。
- Redis的速度非常快, 因为它会将整个数据集加载到主内存中。
- 在不同数据类型上运行的Redis操作是原子操作, 因此可以安全地完成这些操作, 即设置或增加键, 从集合中添加或删除元素或增加计数器。
- 它支持各种类型的数据结构, 例如字符串, 哈希, 集合, 列表, 排序集合等。
- Redis支持多种语言, 例如C, C ++, C#, Ruby, Python, Twisted Python, PHP, Erlang, Tcl, Perl, Lua, Java, Scala等。
- 如果尚不支持你喜欢的语言, 则可以编写自己的客户端库, 因为该协议非常简单。
- Redis支持简单的主到从复制。
- Redis是便携式的。
9)解释Redis的复制功能吗?
为了在大数据系统中归档高级别的可用性, 复制非常重要。数据需要在n个位置复制。这遵循主从方法, 其中主副本由主从维护, 并复制到n个其他节点。
10)使用Redis有什么优势?
以下是Redis的一些重要优点的列表:
- Redis非常快。
- 它支持服务器端锁定。
- 它具有丰富的客户端库。
- 这是一个很好的柜台。
- 它支持原子操作。
以下是Redis的缺点/局限性:
- 它是单线程的。
- 它对统一哈希的客户端支持有限。
- 对于持久性来说, 它具有大量开销。
- 它没有被广泛部署。
Redis和RDBMS之间有很多区别:
- Redis是NoSQL数据库, 而RDBMS是SQL数据库。
- Redis遵循键值结构, 而RDBMS遵循表结构。
- Redis非常快, 而RDBMS比较慢。
- Redis将所有数据集存储在主内存中, 而RDBMS将其数据集存储在辅助内存中。
- Redis通常用于存储经常使用的小文件, 而RDBMS用于存储大文件。
- Redis仅对Linux, BSD, Mac OS X, Solaris提供官方支持。目前, 它不提供对Windows的官方支持, 而RDBMS提供了对两者的支持。
13)区分Memcached和Redis?
Memcached | Redis |
---|---|
它提供了更多功能, 例如复制和持久性以及缓存信息。 | |
Redis不支持LRU。 | |
在Redis中, 为每个功能设置了一个时间, 将保留三个键, 最接近到期??的一个键将被删除。 | |
Redis不支持CAS。 | |
Redis拥有更强大的数据结构;它可以处理字符串, 二进制安全字符串, 二进制安全字符串列表, 排序列表等。 | |
Redis的密钥长度最多为2 GB。 | |
它是单线程的。 |
- TYPE键
- TTL键
- EXPIRE关键秒
- EXPIREAT关键时间戳
- EXISTS键
- DEL键
Redis支持的数据类型主要有5种:
- 弦乐
- 散列
- 清单
- 套装
- 排序集
16)Redis数据库中最流行的命令是什么?
欲了解更多信息, 请点击此处
17)我们都知道红军快, 但也持久吗?
在Redis中, 始终需要在耐用性和速度之间进行权衡。在系统故障的情况下, 它可能会丢失未存储的数据。
18)如何提高Redis的耐用性?
- 每当将新命令添加到附加日志文件时, 每次都调用Fsysnc()。
- 保持每秒调用Fsysnc()。尽管有1秒的数据丢失, 但系统发生故障。
- 一致的方法选择, 以便命名和前缀键。命名空间管理。
- 设置关键字前缀注册表, 该注册表可以将每个文档映射到其所有者应用程序。
- 为我们保留在redis架构中的每个类设计, 实现和测试Garbage收集机制。
- 在对应用程序进行大量投资之前, 请维护一个分片库。
要在.Net应用程序中使用Redis, 请按照下列步骤操作:
- 首先, 下载Redis服务器。
- 安装Redis服务器。
- 下载Redis客户端。
- 将配置设置为Web.config文件。
- 使用Redis客户端类。
Java OOP面试问题 |
Java字符串和异常问题 |
JDBC面试问题 |
JSP面试问题 |
休眠面试问题 |
SQL面试题 |
Android面试题 |
MySQL面试问题 |
【Redis面试题和答案完全解读】Memcached支持值的LRU(最近最少使用)收回功能。
在Memcached中, 当它们溢出内存时, 你最近未使用的内存(LRU-最近最少使用的内存)将被删除。
Memcached支持CAS(检查并设置)。
数组对象需要序列化才能保存。我们需要对它们进行反序列化以进行检索。
Memcached的最大长度为250个字节。
它是多线程的
Java基础面试问题
Java多线程问题
Java Collection面试题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
SQL Server面试问题
推荐阅读
- Microsoft Access面试问题和答案全解
- PouchDB面试题和答案热门推荐合集
- SQL面试(PL/SQL面试问题和答案大全)
- rem在手机移动端app中的兼容适配问题
- springmvc-@RequestMapping
- Android Kotlin opencv MatOfPoint 转 MatOfPoint2f 报错踩坑 (解决)
- 介绍 brick: 用于快速开发 webapp 的自定义标签组件
- Android Android studio 底部导航栏的基本实现
- Android 给服务器发送网络请求