当前位置:网站首页>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(更新中)
- 12 reasons for MySQL slow query
- 面试Redis 高可靠性|主从模式、哨兵模式、Cluster集群模式
- Refinement of the four major collection frameworks: Summary of List core knowledge
- Mysql应用安装后找不到my.ini文件
- 面试官,不要再问我三次握手和四次挥手
- [Detailed explanation of ORACLE Explain]
- Linux系统安装mysql(rpm方式安装)
- Kubernetes 证书可用年限修改
- SQL row-column conversion
猜你喜欢
![<urlopen error [Errno 11001] getaddrinfo failed>的解决、isinstance()函数初略介绍](/img/a4/8c75fab6a9858c5ddec25f6a8300fb.png)
<urlopen error [Errno 11001] getaddrinfo failed>的解决、isinstance()函数初略介绍

DVWA之SQL注入

Mysql应用安装后找不到my.ini文件

Simple read operation of EasyExcel

Lock wait timeout exceeded解决方案
![[mysql improves query efficiency] Mysql database query is slow to solve the problem](/img/fa/502a2efdd37508f15541558851a254.png)
[mysql improves query efficiency] Mysql database query is slow to solve the problem

【LeetCode-SQL每日一练】——2. 第二高的薪水

Interview | Cheng Li, CTO of Alibaba: Cloud + open source together form a credible foundation for the digital world

分布式事务处理方案大 PK!

The MySQL database installed configuration nanny level tutorial for 8.0.29 (for example) have hands
随机推荐
DVWA shooting range environment construction
ERROR 2003 (HY000) Can't connect to MySQL server on 'localhost3306' (10061)
MySQL optimization slow log query
1. Get data - requests.get()
【MySQL8入门到精通】基础篇- Linux系统静默安装MySQL,跨版本升级
目标检测学习笔记
MySQL8--Windows下使用压缩包安装的方法
SQL行列转换
MySQL(更新中)
Apache DButils使用注意事项--with modifiers “public“
MySQL-Explain详解
Temporal对比Cadence
Information System Project Manager Core Test Site (55) Configuration Manager (CMO) Work
城市内涝及桥洞隧道积水在线监测系统
面试Redis 高可靠性|主从模式、哨兵模式、Cluster集群模式
Paginate the list collection and display the data on the page
pytorch中的一维、二维、三维卷积操作
Linux的mysql报ERROR 1045 (28000) Access denied for user ‘root‘@‘localhost‘ (using password NOYSE)
About the problems encountered by Xiaobai installing nodejs (npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
Anaconda配置环境指令