本篇内容基于 Redis v7.0 的阐述;官网:https://redis.io/
本篇计划用 Docker 容器辅助部署,所以需要了解点 Docker 知识;官网:https://www.docker.com
系列目录:
微服务 - 概念 · 应用 · 通讯 · 授权 · 跨域 · 限流
微服
一、配置哨兵服务
1、哨兵服务介绍
监视 master 服务器,发现 master 宕机后,将 slave 服务器提升为 master 服务器
主配置文件:sentinel.conf
模板文件:redis-4.0.8/sentinel.conf
哨兵服务:类似于mha的管理节点,会监视 mas
大家好啊,最近在学redis,在虚拟机上安装花了不少时间,于是整理了一下详细的安装教程,有需要的小伙伴可以看看,避免踩坑!
安装redis时虚拟机的前置条件
我用的是centos7.6,这里默认大家都安好虚拟机了,如果没有安装的同学可以看我下一篇的博客
一、数据持久化之RDB
1、RDB介绍
Redis 数据库文件,全称 Redis DataBase,数据持久化方式之一,数据持久化默认方式,按照指定时间间隔,将内存中的数据及快照写入硬盘
定义RDB文件名
dbfilename "dump.rdb"
RDB指dump.rdb文件; red
Redis的Java客户端
在Redis官网中提供了各种语言的客户端,地址:Get started using Redis clients | Redis
Redis的Java客户端:
1.Jedis
Jedis 的官方地址:redis/jedis: Redis Java client desig
系列目录:
微服务 - 概念 · 应用 · 通讯 · 授权 · 跨域 · 限流
微服务 - 集群化 · 服务注册 · 健康检测 · 服务发现 · 负载均衡
微服务 - Redis缓存 · 数据结构 · 持久化 · 分布式 · 高并发
微服务的概念
微服务是一种开发软件的架构和组织方法,其中软件
集群化工具选择性很多,这里选 Consul 工具;官网:https://www.consul.io
本篇计划用 Docker 辅助部署,所以需要了解点 Docker 知识;官网:https://www.docker.com
系列目录:
微服务 - 概念 · 应用 · 通讯 · 授权 · 跨域 ·
IdentityServer4 已经v4.x了,与3.x在概念上还是有区别的,本章主要阐述对4.x的理解。下一篇再写代码实现的案例。
一、概念理解
Scope
范围,它的定义比较宽泛,可大可小,便于开发者按情况利用它。它大到可把多个包含相同Scope的站点或服务形成一个虚拟的组,也可以是站点或
续上篇;先理解其中的概念,可访问上篇<IdentityServer4 - v4.x 概念理解及运行过程>,本篇以代码为主的实现过程。
一、创建认证授权服务
以下内容以密码授权方式为例。
创建API服务后,NuGet安装IdentityServer4(v4.x)
1.1 模拟访问DB
功能实现02
2.功能01-短信登录
2.1基于Session实现登录
2.1.1思路分析
2.1.2代码实现
2.1.2.1发送短信验证码
发送短信验证码:
发送验证码的接口为:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手机号>
一、redis主从复制
主从复制:是存储数据的服务结构
主服务器:接受客户端连接的服务器
从服务器:自动与主服务器保持数据一致的服务器
配置主从复制
1、环境准备
主服务器 主机名:master IP地址:192.168.11.101/24
从服务器 主机名:node01
1. 为什么要持久化
Redis是基于内存存储的数据库,如果遇到服务重启或者崩溃,内存中的数据将会被清空。所以为了确保数据安全性和可靠性,我们需要将内存中的数据持久化到磁盘上。
持久化不仅可以防止由于系统故障、重启或者其他原因导致的数据丢失。还可以用于备份、数据恢复和迁移等操作。
2. Redi
功能02-商铺查询缓存
3.商铺详情缓存查询
3.1什么是缓存?
缓存就是数据交换的缓冲区(称作Cache),是存储数据的临时地方,一般读写性能较高。
缓存的作用:
降低后端负载
提高读写效率,降低响应时间
缓存的成本:
数据一致性成本
代码维护成本
运维成本
3.2需求说明
如下,当我们点击商店
简介
从数据类型上体现就是,同一个数据类型,在不同的情况下会使用不同的编码类型,底层所使用的的数据结构也不相同。
字符串对象
字符串对象的编码可以是 int、raw 和 embstr 三者之一。
embstr 编码是专门用于保存简短字符串的一种优化编码方式,与 raw 编码会调用两次内存分配函数
功能02-商铺查询缓存02
知识补充
(1)缓存穿透
https://blog.csdn.net/qq_45637260/article/details/125866738
缓存穿透(cache penetration)是指用户访问的数据既不在缓存当中,也不在数据库中。出于容错的考虑,如果从底
功能02-商铺查询缓存03
3.功能02-商铺查询缓存
3.6封装redis工具类
3.6.1需求说明
基于StringRedisTemplate封装一个工具列,满足下列需求:
方法1:将任意Java对象序列化为json,并存储在string类型的key中,并且可以设置TTL过期时间
方法2:将任
《Redis设计与实现》读书笔记
简单动态字符串
SDS的定义
结构:
buf数组:用于保存字符串
len属性:记录SDS中保存字符串的长度
free属性:记录buf中未使用字节数量
遵循C字符串以空字符串结尾的惯例,保存空字符串的字节不计入长度
SDS与C字符串的区别
常数复杂度获取字符串长度
1. Redis集群简介
1.1 什么是Redis集群
Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同节点上同时提供服务,提高整体性能和可靠性。根据搭建的方式和集群的特性,Redis集群主要有三种模式:主从复制模式(Mast
一、主从Redis部署(docker)
首先,我准备了两台linux,一台准备当作master,ip是192.168.241.128,另一台是当作slave,ip是192.168.241.129。
1. 安装redis
docker pull redis
2. 下载对应版本的redis.conf
一、Redis Cluster 工作原理
在引入哨兵机制后,解决了Redis主从架构Master故障时的主从切换问题,保证了Redis服务可用性。但依旧无法解决单机节点出现的写入性能瓶颈(网卡速率、单机内存容量、并发数量)
1、早期为解决单机性能瓶颈问题采用的解决方案:
1、客户端分片:由客户端程