探究Redis

embedded/2024/10/23 6:02:04/

 为什么要用Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis是一种常见的缓存技术,通常用来改善网站性能。

常用的缓存技术有Redis、Memcache,能力对比如下:

 Redis分布式存储方案

  1. 主从(Master/Slave)模式:一主多从,故障时手动切换。
  2. 哨兵(Sentinel)模式:有哨兵的一主多从,主节点故障自动选择新的主节点。
  3. 集群(Cluster)模式:分节点对等集群,分slots,不同slots的信息存储到不同节点。

 Redis集群切片方式

Redis数据分片方案

  1. 范围分片:按数据范围值来分片

  2. 哈希分片:通过对key进行hash运算分片

  3. 一致性哈希分片:哈希分片的改进,利用扩展节点,有效解决重新分配节点带来的无法命中问题。 

Redis持久化两种方式

  1. RDB:传统数据库中快照的思想。指定时间间隔将数据进行快照存储。
  2. AOF:传统数据库日志的思想。把每条改变数据集的命令追加到AOF文件末尾,如果出问题了,可以重新执行AOF文件中的命令来重建数据集。

Redis常见问题

缓存雪崩

大部分缓存失效造成数据库崩溃。

解决方案有:使用锁或队列、为key设置不同的缓存失效时间、二次缓存

缓存穿透

 缓存中不存在的数据,每次都需要查询数据库,其实就是缓存失效现象。

解决方案:对于查询为空的key,直接设置一个默认值存放到缓存;设置布隆过滤器。


http://www.ppmy.cn/embedded/129745.html

相关文章

CDL数据传输工具

什么是CDL CDL(全称Change Data Loader)是一个基于Kafka Connect框架的实时数据集成服务。 CDL服务能够从各种OLTP数据库中捕获数据库的Data Change事件,并推送到kafka,再由sink connector推送到大数据生态系统中。 CDL目前支持…

Ubuntu 20.04上安装Docker-CE社区版

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

[week1] newstar ctf ezAndroidStudy

本题主要考查对 APK 基本结构的掌握 查看 AndroidManifest.xml 可以发现 activity 只有 Homo 和 MainActivity 我们用 Jadx 打开 work.pangbai.ezandroidstudy.Homo 就可以获得 flag1 打开 resources.arsc/res/value/string.xml 搜索 flag2 即可 按描述到 /layout/activity_ma…

k8s 部署 mysql 故障恢复记录

k8s 集群 用 helm 部署 mariadb (https://charts.bitnami.com/bitnami) https://github.com/bitnami/charts/tree/main/bitnami/mariadb 采用了主从部署 default mariadb-primary-0 1/1 Running 0 10m 10.224.166.150 node1 default …

习题|曲线平面曲线

目录 T1T2T3 T1 (1)设 E 3 E^3 E3中曲线 C C C的所有切线过一个定点,证明 C C C是直线. (2) 证明:所有主法线过定点的曲线是圆. 证明:(1) 设 P 0 P_0 P0​是弧长参数曲线 C : r r ( s ) C:\mathbf{r}\mathbf{r}(s) C:rr(s)的切线所过的定点…

ChatGLM-6B和Prompt搭建专业领域知识问答机器人应用方案(含完整代码)

目录 ChatGLM-6B部署 领域知识数据准备 领域知识数据读取 知识相关性匹配 Prompt提示工程 领域知识问答 完整代码 本文基于ChatGLM-6B大模型和Pompt提示工程搭建医疗领域知识问答机器人为例。 ChatGLM-6B部署 首先需要部署好ChatGLM-6B,参考 ChatGLM-6B中英双…

T2彩色图片分类

导入 keras中的数据集。 datasets是数据集,用来加载tensorflow的一些数据集 layers:kersa中的核心模块,用来构建神经网络模型的各种层 models:用来管理模型的模块。这边数据集的导出花了好长的时间。中间断了一下,后来无法找到文件,去了数据…

【p2p、分布式,区块链笔记 UPNP】: 简单服务发现协议 SSDP

在设备加入网络,UPnP发现协议允许设备向控制点广告它的服务。它使用向一个标准地址和端口多址传送发现消息来实现。控制点在此端口上侦听是否有新服务加入系统。为了通知所有设备,一个设备为每个其上的嵌入设备和服务发送一系列相应的发现消息。每个消息…