当前位置:网站首页>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和内存资源达到最优的平衡效果。
边栏推荐
- docker安装postgresSQL和设置自定义数据目录
- Paginate the list collection and display the data on the page
- 一文了解大厂的DDD领域驱动设计
- CentOS7 —— yum安装mysql
- MySQL8.0.26安装配置教程(windows 64位)
- numpy和pytorch中的元素拼接操作:stack,concatenat,cat
- STM32 - DMA
- About the problems encountered by Xiaobai installing 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?
- Kubernetes 证书可用年限修改
猜你喜欢
Moment Pool Cloud quickly installs packages such as torch-sparse and torch-geometric
sql语句之多表查询
MySQL8.0.26安装配置教程(windows 64位)
【LeetCode-SQL每日一练】——2. 第二高的薪水
DVWA安装教程(懂你的不懂·详细)
Why use Flink and how to get started with Flink?
A complete introduction to JSqlParse of Sql parsing and conversion
ERROR 1819 (HY000) Your password does not satisfy the current policy requirements
DVWA shooting range environment construction
1. 获取数据-requests.get()
随机推荐
DVWA shooting range environment construction
Kubernetes 证书可用年限修改
MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细
wx.miniProgram.navigateTo在web-view中跳回小程序并传参
[Detailed explanation of ORACLE Explain]
Distributed Transactions - Introduction to Distributed Transactions, Distributed Transaction Framework Seata (AT Mode, Tcc Mode, Tcc Vs AT), Distributed Transactions - MQ
mysql使用on duplicate key update批量更新数据
MySQL-如何分库分表?一看就懂
DVWA靶场环境搭建
On-line monitoring system for urban waterlogging and water accumulation in bridges and tunnels
MySQL8.0.26安装配置教程(windows 64位)
centos7安装mysql5.7步骤(图解版)
有了MVC,为什么还要DDD?
Apache DButils使用注意事项--with modifiers “public“
12 reasons for MySQL slow query
Sql解析转换之JSqlParse完整介绍
精解四大集合框架:List 核心知识总结
Interviewer: If the order is not paid within 30 minutes, it will be automatically canceled. How to do this?
[Introduction to MySQL 8 to Mastery] Basics - silent installation of MySQL on Linux system, cross-version upgrade
Information System Project Manager Core Test Site (55) Configuration Manager (CMO) Work