当前位置: 首页 > article >正文

Redis知识点

1. Redis-常用数据结构

Redis提供了一些数据结构供我们往Redis中存取数据,最常用的的有5种,字符串(String)、哈希(Hash)、列表(list)、集合(set)、有序集合(zset)。

redis常用五种数据类型的数据结构总结
Redis的5种基本数据结构

Redis常用命令手册

2. redis缓存雪崩、缓存穿透、缓存击穿

缓存穿透:
key 对应的数据在redis中并不存在,每次针对此key的请求从缓存获取不到,请求转发到数据库,访问量大了可能压垮数据库。比如用一个不存在的用户 id获取用户信息,redis缓存和数据库中都没有,若黑客利用此漏洞进行攻击可能压垮数据库(黑客访问肯定不存在的数据,造成服务器压力大)
缓存击穿:
key 对应的数据存在,但在 redis 中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端 DB 加载数据并回设到缓存,这个时候大量并发的请求可能会瞬间把后端 DB 压垮(redis某个热门数据过期,大量的合理数据请求到达数据库)
缓存雪崩
key 对应的数据存在,但在 redis 中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端 DB
加载数据并回设到缓存,这个时候大量并发的请求可能会瞬间把后端 DB 压垮

缓存雪崩针对很多 key 失效导致redis无法命中,数据库压力激增;缓存击穿则是某一个热门 key 失效导致redis无法命中,数据库压力激增

Redis 缓存穿透、缓存击穿、缓存雪崩

3.Redis数据淘汰策略

淘汰策略名称策略含义
noeviction默认策略,不淘汰数据;大部分写命令都将返回错误(DEL等少数除外)
allkeys-lru从所有数据中根据 LRU 算法挑选数据淘汰
volatile-lru从设置了过期时间的数据中根据 LRU 算法挑选数据淘汰
allkeys-random从所有数据中随机挑选数据淘汰
volatile-random从设置了过期时间的数据中随机挑选数据淘汰
volatile-ttl从设置了过期时间的数据中,挑选越早过期的数据进行删除
allkeys-lfu从所有数据中根据 LFU 算法挑选数据淘汰(4.0及以上版本可用)
volatile-lfu从设置了过期时间的数据中根据 LFU 算法挑选数据淘汰(4.0及以上版本可用)

玩转Redis-8种数据淘汰策略及近似LRU、LFU原理

Redis实现分布式锁

4.Redis的持久化机制

Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;当下次Redis重启时,利用持久化文件实现数据恢复。除此之外,为了进行灾难备份,可以将持久化文件拷贝到一个远程位置
Redis的持久化机制


http://www.kler.cn/a/15935.html

相关文章:

  • oneplus3t-Lineage16.1-Android.bp
  • Opengl光照测试
  • 基于Matlab的碎纸片的自动拼接复原技术
  • Android 中的 Zygote 和 Copy-on-Write 机制详解
  • c++入门--引用与指针,const与引用,NULL与nullptr
  • 【计算机网络】TCP协议特点3
  • Dart String字符串的常用方法概述 整理了大概4000多字
  • 自动驾驶货运编队行驶介绍
  • 0、Java开发常见(并发,JVM)
  • 独立IP服务器和共享IP服务器有什么区别
  • JavaScript全解析——常见的BOM操作(下)
  • FreeRTOS任务的创建(动态方法和静态方法)
  • java常用的工具类 apache --- CollectionUtils(IT枫斗者)
  • QImage 如何设置图片的透明度
  • kotlin教程4:函数进阶
  • 贪心算法OJ刷题(2)
  • Python并发编程之进程操作
  • aac音频怎么转mp3,这几个方法很简便
  • 2023五一杯B题赛题公布
  • OpenGL(三)——着色器
  • Redis学习笔记01 (数据结构,线程模型,持久化)
  • 分屏视图上线,详情数据秒切换
  • Python小姿势 - # 如何在Python中实现基本的数据类型
  • 如何查看自己是否使用了国产SSL证书?“套牌”SSL证书?
  • GDB 1、超详细的GDB入门笔记,包含演示代码,快速入门
  • Prompt炼丹炉——一系列Prompt自动优化的实践记录