当前位置:网站首页>Redis的初识
Redis的初识
2022-07-31 05:09:00 【城南花开了^】
Redis有哪些优缺点
优点:
- l内存数据库,读写速度快
- l支持数据持久化,便于备份、恢复
- l支持简单的事务
- l数据类型丰富
- l支持主从复制,哨兵机制
缺点:
- l数据存储在内存,容易丢失。
- l作为缓存时,存在与数据库数据不一致的问题
- l雪崩问题、缓存击穿问题、缓存穿透问题
为什么要用 Redis 做缓存?
缓存分为本地缓存和分布式缓存。使用 redis 或 memcached 之类的称为分布式缓存,在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。
Redis为什么这么快
1)纯内存操作
Redis将数据储存在内存里面,读写数据的时候都不会受到硬盘I/O速度的限制,所以速度快
2)单线程操作
单线程可以避免不必要线程间的切换和资源抢占
Redis 的持久化机制是什么?各自的优缺点?
RDB:RDB是Redis默认的持久化方式。按照一定的时间将内存的数据以快照的形式保存到硬盘中。通过配置文件中的save参数来定义快照的周期。
AOF:持久化 则是将Redis执行的每次写命令记录到单独的日志文件中,当重启Redis日志中文件恢复数据。
当两种方式同时开启时,数据恢复Redis会优先选择AOF恢复。
两种持久化的对比?
AOF文件比RDB更新频率高,优先使用AOF还原数据。
AOF比RDB更安全也更大
RDB性能比AOF好
如果两个都配了优先加载AOF
过期策略通常有以下三种:
定时过期:每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。
惰性过期:只有当访问一个key时,才会判断该key是否已过期,过期则清除。极端情况可能出现大量的过期key没有再次被访问,从而不会被清除,占用大量内存。
定期扫描:每隔一定的时间,会扫描expires字典中key,并清除其中已过期的key。该策略是前两者的一个折中方案。通过调整定时扫描的时间间隔和每次扫描的限定耗时,可以在不同情况下使得CPU和内存资源达到最优的平衡效果。
边栏推荐
- Kubernetes加入集群的TOKEN值过期
- 分布式事务处理方案大 PK!
- docker安装postgresSQL和设置自定义数据目录
- About the problems encountered by Xiaobai installing nodejs (npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
- TOGAF之架构标准规范(一)
- tf.keras.utils.pad_sequences()
- Apache DButils使用注意事项--with modifiers “public“
- centos7安装mysql5.7
- MySQL-如何分库分表?一看就懂
- 质量小议12 -- 以测代评
猜你喜欢

DVWA安装教程(懂你的不懂·详细)

Apache DButils使用注意事项--with modifiers “public“

精解四大集合框架:List 核心知识总结

Unity mobile game performance optimization series: performance tuning for the CPU side

CentOS7 —— yum安装mysql

Centos7 install mysql5.7

mysql uses on duplicate key update to update data in batches

Sun Wenlong, Secretary General of the Open Atom Open Source Foundation |

Anaconda配置环境指令

Go language study notes - dealing with timeout problems - Context usage | Go language from scratch
随机推荐
docker安装postgresSQL和设置自定义数据目录
sql语句之多表查询
MYSQL一站式学习,看完即学完
Centos7 install mysql5.7 steps (graphical version)
Pytorch教程Introduction中的神经网络实现示例
Temporal客户端模型
MySQL (updating)
12个MySQL慢查询的原因分析
Numpy中np.meshgrid的简单用法示例
【一起学Rust】Rust的Hello Rust详细解析
EasyExcel的简单读取操作
ERP Production Operation Control Kingdee
Linux系统安装mysql(rpm方式安装)
DVWA靶场环境搭建
MySQL常见面试题汇总(建议收藏!!!)
mysql stored procedure
Minio upload file ssl certificate is not trusted
[Cloud Native] DevOps (5): Integrating Harbor
sql语句-如何以一个表中的数据为条件据查询另一个表中的数据
ERROR 1819 (HY000) Your password does not satisfy the current policy requirements