Redis常见面试题

Redis常见面试题

  1. 什么是redis

    redis是一种基于内存的数据库,对数据的读写操作都是在内存中完成的,因此读写速度非常快,常用于缓存,消息队列,分布式锁等场景

    redis提供了多种数据类型来支持不同的业务场景,比如String(字符串),Hash(哈希),List()列表,Set(集合)并且对数据类型的操作都是原子性的,因为执行命令由单线程负责,不存在并发竞争的问题

    Redis还支持事物,持久化,Lua脚本,多种集群方案(主从复制模式,哨兵模式,切片集群模式),发布订阅模式,内存淘汰模式,过期删除机制等等

  2. Redis和Memcached有什么区别?

    redis和Memcached共同点:

    1. 都是基于内存的数据库,一般都用来当作缓存使用

    2. 都有过期策略

    3. 两者性能都非常高

    redis和Memcached的区别:

    • redis支持的数据类型更丰富 Memcached只支持key value

    • redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用,而Memcached没有持久话功能,数据全部存在内存之中,重启或挂掉会导致数据丢失

    • redis原生支持集群模式,Memcached没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据

    • redis支持发布订阅模型,Lua脚本,事务等功能,而Memcached不支持

相关推荐
l1t29 分钟前
DeepSeek辅助实现的DuckDB copy to自定义函数
数据库·c++·人工智能
懵逼的小黑子37 分钟前
mysql修改字段类型
数据库·mysql
写bug写bug1 小时前
SQL窗口函数原理和使用
后端·sql·mysql
Tapdata1 小时前
拒绝停服,随时回退:MS SQL 到 ≈ 的无缝数据库双向迁移方案
数据库
失败又激情的man1 小时前
python爬虫之数据存储
前端·数据库·python
遗忘妳1 小时前
mysql高可用
数据库·mysql
小灰灰搞电子1 小时前
Qt多线程访问同一个数据库源码分享(基于Sqlite实现)
数据库·qt·sqlite
麓殇⊙2 小时前
redis--黑马点评--Redisson快速入门
数据库·redis·缓存
爱思德学术2 小时前
DBLP数据库是什么?
数据库
onlooker66662 小时前
Go 语言底层(四) : 深入 Context 上下文
开发语言·数据库·golang