redis面试题简义

17 篇文章 0 订阅

1、redis工作原理,使用场景是什么?

  • 排行榜
  • 计数

2、你在项目中redis的存储有哪些?

  • 排行榜
  • 计数

3、redis支持的最大数据量是多少?

Strings类型:一个String类型的value最大可以存储512M

Lists类型:list的元素个数最多为2^32-1个,也就是4294967295个。

Sets类型:元素个数最多为2^32-1个,也就是4294967295个。

Hashes类型:键值对个数最多为2^32-1个,也就是4294967295个。

Sorted sets类型:跟Sets类型相似

4、列举一个常用的Redis客户端的并发模型。

  • redis本身为单线程单进程模式
  • redis可以采用队列模式将并发访问变为串行访问
  • redis本身没有锁的概念
  • Jedis客户端对Redis进行并发访问时会发生连接超时、数据转换错误、阻塞、客户端关闭连接等问题

对此有2种解决方法:
1.客户端角度,为保证每个客户端间正常有序与Redis进行通信,对连接进行池化,同时对客户端读写Redis操作采用内部锁synchronized。

2.服务器角度,利用setnx实现锁。如某客户端要获得一个名字list的锁,客户端使用下面的命令进行获取:

Setnx lock.list  current time + lock timeout

如返回1,则该客户端获得锁,把lock. list的键值设置为时间值表示该键已被锁定,该客户端最后可以通过DEL lock.list来释放该锁。

如返回0,表明该锁已被其他客户端取得,等对方完成或等待锁超时。

5、Redis,传统数据库,hbase,hive每个之间的区别

HBase

提供表状的面向列的数据存储
针对表状数据的随机读写进行优化
使用key-vale操作数据
提供灵活的数据模型
使用表状存储,支持MapReduce,依赖HDFS
优化了多次读,以及多次写
主要用来存储非结构化数据和半结构化的数据

MySQL

传统关系型数据库
注重关系
支持事务

Redis

分布式缓存
基于内存,
强调缓存,
支持数据的持久化,
支持事务的操作,
NoSql类型的Key/value数据库
支持List、Set等丰富的类型

Hive

hive是基于Hadoop的数据仓库工具
可以将结构化数据文件映射为数据库表
并提供sql功能,可以将sql转化为mr任务运行
sql学习成本低,不必专门开发mr应用
十分适合数据仓库的统计分析

6、redis支持的数据格式

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

7、 redis的性能瓶颈在哪里?

  • 单机Redis,能承载QPS大概在上万到几万
  • 单机 性能有限,必须搭集群
  • 不能充分利用CPU的多核-

8、如何使得redis高并发可以支持10万Qps+?

  • 单机比较难,一般也就几万
  • 主从架构 -> 读写分离 -> 支撑10万+读QPS的架构
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值