JAVA面试题大全(十七)

1、redis 是什么?都有哪些使用场景?

Redis是一个开源的,使用ANSI C语言编写,支持网络,可基于内存,可持久化的日志型,key-value数据库。

  • 数据高并发的读写
  • 海量数据的读写
  • 对扩展性要求高的数据

2、redis 有哪些功能? 

  • 数据缓存功能
  • 分布式锁的功能
  • 支持数据持久化
  • 支持事务
  • 支持消息队列

3、redis 和 memcache 有什么区别? 

  • memcache所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型
  • redis的速度比memcache快很多
  • redis可以持久化其数据

4、redis 为什么是单线程的? 

因为 cpu 不是 Redis 的瓶颈,Redis 的瓶颈最有可能是机器内存或者网络带宽。既然单线程容易实现,而且 cpu 又不会成为瓶颈,那就顺理成章地采用单线程的方案了。

关于 Redis 的性能,官方网站也有,普通笔记本轻松处理每秒几十万的请求。

而且单线程并不代表就慢。 nginx 和 nodejs 也都是高性能单线程的代表。

5、redis 支持的数据类型有哪些?

Redis支持多种数据类型,这些数据类型使得Redis不仅能够处理简单的键值对存储,还能够实现更复杂的数据结构和用例。以下是Redis支持的主要数据类型:

  1. 字符串(Strings)

    • 基本的数据类型,用于存储字符串数据,如用户信息、配置参数等。
  2. 列表(Lists)

    • 列表中的每个元素都是字符串,列表可以作为队列或者栈使用,支持两端添加或移除元素。
  3. 集合(Sets)

    • 无序集合,元素唯一,可以用于存储唯一性的数据集,支持集合操作如交集、并集、差集等。
  4. 有序集合(Sorted Sets)

    • 与集合类似,但每个元素都有一个分数(score)与之关联,可以按照分数对元素进行排序。
  5. 哈希(Hashes)

    • 键值对集合,其中键和值都是字符串,类似于某些编程语言中的字典或哈希表,适合存储对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值