当前位置:网站首页>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和内存资源达到最优的平衡效果。
边栏推荐
- MySQL优化之慢日志查询
- torch.normal函数用法
- SQL语句中对时间字段进行区间查询
- 数据集划分以及交叉验证法
- Linux的mysql报ERROR 1045 (28000) Access denied for user ‘root‘@‘localhost‘ (using password NOYSE)
- 关于小白安装nodejs遇到的问题(npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
- MySQL事务(transaction) (有这篇就足够了..)
- CentOS7 安装MySQL 图文详细教程
- MySQL (updating)
- Mysql application cannot find my.ini file after installation
猜你喜欢

MySQL optimization: from ten seconds to three hundred milliseconds

Redis Advanced - Cache Issues: Consistency, Penetration, Penetration, Avalanche, Pollution, etc.
【一起学Rust】Rust的Hello Rust详细解析

MySQL transaction (transaction) (this is enough..)

DVWA shooting range environment construction

如何将项目部署到服务器上(全套教程)

CentOS7 安装MySQL 图文详细教程

CentOS7 - yum install mysql

Blockbuster | foundation for platinum, gold, silver gave nameboards donors

Lock wait timeout exceeded解决方案
随机推荐
如何将项目部署到服务器上(全套教程)
CentOS7 —— yum安装mysql
Duplicate entry 'XXX' for key 'XXX.PRIMARY' solution.
MySQL(更新中)
MySQL优化之慢日志查询
Temporal客户端模型
ERROR 2003 (HY000) Can't connect to MySQL server on 'localhost3306' (10061)
The 15th day of the special assault version of the sword offer
[mysql improves query efficiency] Mysql database query is slow to solve the problem
Unity resources management series: Unity framework how to resource management
MySQL optimization: from ten seconds to three hundred milliseconds
面试官:生成订单30分钟未支付,则自动取消,该怎么实现?
MySQL (updating)
<urlopen error [Errno 11001] getaddrinfo failed>的解决、isinstance()函数初略介绍
About the problems encountered by Xiaobai installing nodejs (npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
Kubernetes 证书可用年限修改
关于小白安装nodejs遇到的问题(npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
What are the advantages and disadvantages of Unity shader forge and the built-in shader graph?
Numpy中np.meshgrid的简单用法示例
【ORACLE Explain 详解】