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

xiaoxiao2025-04-15  8

什么是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禁止驱逐数据
转载请注明原文地址: https://www.6miu.com/read-5028344.html

最新回复(0)