当前位置: 首页 > news >正文

Redis学习文档(常见面试题)

目录

Redis支持的Java客户端都有哪些?官方推荐用哪个?

Redis和Redisson有什么关系?

Jedis与Redisson对比有什么优缺点?

Redis如何设置密码及验证密码?

说说Redis哈希槽的概念?

Redis集群的主从复制模型是怎样的?

Redis集群会有写操作丢失吗?为什么?

Redis集群之间是如何复制的?

Redis集群最大节点个数是多少?

Redis集群如何选择数据库?

怎么测试Redis的连通性?

Redis中的管道有什么用?

怎么理解Redis事务?

Redis事务相关的命令有哪几个?

Redis key的过期时间和永久有效分别怎么设置?

Redis如何做内存优化?

Redis回收进程如何工作的?


Redis支持的Java客户端都有哪些?官方推荐用哪个?

Redisson、Jedis、lettuce等等,官方推荐使用Redisson。

Redis和Redisson有什么关系?

Redisson是一个高级的分布式协调Redis客服端,能帮助用户在分布式环境中轻松实现一些 Java的对象 (Bloom filter, BitSet, Set, SetMultimap, ScoredSortedSet, SortedSet, Map,  ConcurrentMap, List, ListMultimap, Queue, BlockingQueue, Deque, BlockingDeque,  Semaphore, Lock, ReadWriteLock, AtomicLong, CountDownLatch, Publish /  Subscribe, HyperLogLog)。

Jedis与Redisson对比有什么优缺点?

Jedis是Redis的Java实现的客户端,其API提供了比较全面的Redis命令的支持;Redisson 实现了分布式和可扩展的Java数据结构,和Jedis相比,功能较为简单,不支持字符串操 作,不支持排序、事务、管道、分区等Redis特性。Redisson的宗旨是促进使用者对Redis 的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。

Redis如何设置密码及验证密码?

设置密码:config set requirepass 123456 授权密码:auth 123456

说说Redis哈希槽的概念?

Redis集群没有使用一致性hash,而是引入了哈希槽的概念,Redis集群有16384个哈希槽, 每个key通过CRC16校验后对16384取模来决定放置哪个槽,集群的每个节点负责一部分 hash槽。

Redis集群的主从复制模型是怎样的?

为了使在部分节点失败或者大部分节点无法通信的情况下集群仍然可用,所以集群使用了主 从复制模型,每个节点都会有N-1个复制品.

Redis集群会有写操作丢失吗?为什么?

Redis并不能保证数据的强一致性,这意味这在实际中集群在特定的条件下可能会丢失写操 作。

Redis集群之间是如何复制的?

异步复制

Redis集群最大节点个数是多少?

16384个。

Redis集群如何选择数据库?

Redis集群目前无法做数据库选择,默认在0数据库。

怎么测试Redis的连通性?

ping

Redis中的管道有什么用?

一次请求/响应服务器能实现处理新的请求即使旧的请求还未被响应。这样就可以将多个命 令发送到服务器,而不用等待回复,最后在一个步骤中读取该答复。 这就是管道(pipelining),是一种几十年来广泛使用的技术。例如许多POP3协议已经实 现支持这个功能,大大加快了从服务器下载新邮件的过程。

怎么理解Redis事务?

事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的 过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。

Redis事务相关的命令有哪几个?

MULTI、EXEC、DISCARD、WATCH

Redis key的过期时间和永久有效分别怎么设置?

EXPIRE和PERSIST命令。

Redis如何做内存优化?

尽可能使用散列表(hashes),散列表(是说散列表里面存储的数少)使用的内存非常 小,所以你应该尽可能的将你的数据模型抽象到一个散列表里面。比如你的web系统中有一 个用户对象,不要为这个用户的名称,姓氏,邮箱,密码设置单独的key,而是应该把这个用 户的所有信息存储到一张散列表里面.

Redis回收进程如何工作的?

一个客户端运行了新的命令,添加了新的数据。 Redi检查内存使用情况,如果大于maxmemory的限制, 则根据设定好的策略进行回收。 一个新的命令被执行,等等。 所以我们不断地穿越内存限制的边界,通过不断达到边界然后不断地回收回到边界以下。 如果一个命令的结果导致大量内存被使用(例如很大的集合的交集保存到一个新的键),不 用多久内存限制就会被这个内存使用量超越。


http://www.mrgr.cn/news/59086.html

相关文章:

  • OpenCV中的图像通道合并
  • 安徽对口高考Python试题选:输入一个正整数,然后输出该整数的3的幂数相加形式。
  • fastjson/jackson对getter,setter和constructor的区分
  • 希尔排序的增量和缩小增量问题
  • Lucas带你手撕机器学习——套索回归
  • Spring Boot 应用开发:从入门到实战
  • 基于SSM+小程序的垃圾分类管理系统(垃圾3)
  • P450催化的联芳基偶联反应-文献精读72
  • 【专题】计算机网络之数据链路层
  • 「二叉树进阶题解:构建、遍历与结构转化全解析」
  • 【Linux系统】进程终止
  • Elasticsearch安装使用
  • Python数值计算(33)——simpson 3/8积分公式
  • 011 操作符详解 中
  • 硬件设计-PCIe时钟抖动测量
  • Oracle故障诊断(一线DBA必备技能)之ADRCI(二)
  • 【华为\荣耀、中兴、华三路由器IPV6设置】
  • 淘知学堂 1.0.0 | 不收费的英语启蒙软件,涵盖小中高
  • 【智能大数据分析 | 实验四】Spark实验:Spark Streaming
  • 开源生活-分布式管理
  • 《面试最爱问的Spring》- IOC启动流程,底层实现、配置方式详解
  • 传奇996_5——使用补丁制作武器
  • 代码随想录第十一天|150. 逆波兰表达式求值、239. 滑动窗口最大值、347.前 K 个高频元素
  • qml圆形图片,qml圆形头像制作
  • 家人们,做小红书/小绿书一定要学会蹭热点啊
  • 移植picocom到hisi平台上