学习笔记之:Redis数据库基础篇(一)

Redis是一款高性能的Key-Value数据库,支持多种数据结构,如字符串、链表、集合等,具备快速读写、事务支持和数据持久化功能。适用于小数据量的高性能操作,但受内存限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是Redis?

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value内存高速缓存的数据库,并提供多种语言的API。

Redis的特点

Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库系统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。
因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的Key-Value数据库。
Redis最大的魅力是支持保存多种数据结构,单个Value的最大限制是1GB,不像memcached只能保存1MB的数据。
redis相比memcached的优势:速度更快,可以持久化数据,且支持更为丰富的数据类型。

Redis缺点

Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

使用Redis的好处

1.速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是0
2.支持丰富的数据类型:如string(字符串)、list(链表)、set(集合)、sorted set(有序集合)、hash(哈希类型)
3.支持事务,操作都是原子性,所谓原子性就是对数据的更改要么全部执行,要么全部不执行
4.丰富的特性:可用于缓存,消息,按Key设置过期时间,过期后将会自动删除。

Redis常见性能问题和解决方案

1.Master写内存快照,save命令调度rdbSave函数时会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性暂停服务,所以Master最好不要写内存快照。
2.Master AOF持久化,如果不重写AOF文件,这个持久化方式对性能的影响是最小的,但是AOF文件过大会影响Master重启的恢复速度。所以建议Master最好不要做任何持久化工作。
3.Redis主从复制的性能问题,为了主从复制的速度和连接的稳定性,Slave和Master最好在同一个局域网内。

Redis提供6种数据淘汰策略

1.Volatile-lru从已设置过期时间的数据集中挑选最近最少使用的数据淘汰
2.Volatile-ttl从已设置过期时间的数据集中挑选将要过期的数据淘汰
3.Volatile-random从已设置过期时间的数据集中任意选择数据淘汰
4.Volatile-lru从数据集中挑选最近最少使用的数据淘汰
5.Volatile-random从数据集中任意选择数据淘汰
6.no-enviction禁止驱逐数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值