实战 短信redis

SpringBoot+RabbitMQ+Redis 开发一个秒杀系统,细节打满(附源码)

一、简易版秒杀SeckillProject系统简介 开发技术 二、实现细节记录 1、用户密码两次MD5加密 2、分布式session维持会话 3、异常统一处理 4、页面缓存 + 对象缓存 5、页面静态化 6、内存标记 + Redis预减库存 + RabbitMQ异步处理 7、解决超卖 8、接口限流 ......
SpringBoot 源码 RabbitMQ 细节 系统

redis-trib.rb命令详解

redis-trib.rb是官方提供的Redis Cluster的管理工具,无需额外下载,默认位于源码包的src目录下,但因该工具是用ruby开发的,所以需要准备相关的依赖环境。 准备redis-trib.rb的运行环境 wget https://cache.ruby-lang.org/pub/ru ......
redis-trib 命令 redis trib rb

【matplotlib 实战】--直方图

直方图,又称质量分布图,用于表示数据的分布情况,是一种常见的统计图表。 一般用横轴表示数据区间,纵轴表示分布情况,柱子越高,则落在该区间的数量越大。构建直方图时,首先首先就是对数据划分区间,通俗的说即是划定有几根柱子(比如,1980年~2020年的数据,每5年划分一个区间的话,共8个区间)。接着,对 ......
直方图 matplotlib 实战

Docker 安装 Redis 单机&集群总结

前言 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于 内存 、 分布式 、可选持久性的键值对( Key-Value )存储数据库 redis版本:redis:6.2.13 作者:易墨 安装单机版 安装源:DockerHub 默认配置文件:配置文件示例 6. ......
集群 单机 Docker Redis amp

Redis主从复制

Redis主从复制介绍 Redis多实例主从复制实例 角色 主机 IP 端口 主库(master) db01 10.0.0.51 6379 从库(slave01) db01 10.0.0.51 6380 从库(slave02) db02 10.0.0.52 6379 从库(slave03) db02 ......
主从 Redis

redis哨兵模式

目录Redis 高可用哨兵模式sentinel 介绍什么是 sentinel?sentinel 的构造sentinel 的功能sentinel 如何发现主库和从库发现其他 sentinel多个 sentinel 之间连接检测实例的状态故障转移 FAILOVER 步骤选举规则Sentinel 自动故障 ......
哨兵 模式 redis

Redis订阅发布模式

目录Redis 订阅发布模式消息队列消息队列的使用原因消息队列产品拓展VMware 集群化产品Linux 虚拟化产品Redis 发布消息的两种模式任务队列模式(queuing)发布 - 订阅模式 (publish-subscribe)Redis 发布订阅实践订阅发布模型一个发布者多个订阅者模型多个发 ......
模式 Redis

Redis Cluster手动搭建

目录redis cluster搭建准备快捷施法(集合了,加入集群,主从配置,分配槽位)加入集群查看端口监听主从配置分配槽位检查状态MOVED重定向-c参数故障转移 redis cluster搭建 准备 文件跳转 https://www.cnblogs.com/Yunya-Cnblogs/p/1460 ......
手动 Cluster Redis

Redis实战管理

目录Redis 实战管理Redis 数据类型Redis 通用操作strings(字符)类型操作增删改查hash(字典)类型操作增删改查List(列表)类型操作增删改查Set(集合)类型操作增删改查Sorted-Set(有序集合)类型操作增删改查 Redis 实战管理 Redis 数据类型 Strin ......
实战 Redis

redis快速入门

目录Redis 快速入门Redis 简介软件说明软件特性软件获取和帮助企业缓存数据库解决方案对比对比结论软件功能同类型软件缓存:消息队列Redis 安装配置使用 systemd 管理 redisredis 安全配置允许 redis 远程连接关闭 redis 的保护模式给 redis 设置密码redi ......
redis

Redis的事务和锁

目录Redis 的事务和锁及管理命令MySQL 操作事务MySQL 和 Redis 事务比较Redis 与事务相关命令Redis 的事务实践Redis 实现乐观锁Redis 管理命令inforedis 监控主从延迟情况clientconfigdbsizeselectflushdb、flushallm ......
事务 Redis

Redis 基础语法

Redis 五种常见数据类型 Redis存储的是key-value结构的数据,其中key是字符串类型,value有五种常见的数据类型: 1. 字符串 string(普通字符串,Redis中最简单的数据类型) 2.哈希 hash(也叫散列,类似于java中的HashMap结构) 3.列表 list(按 ......
语法 基础 Redis

docker入门加实战——docker安装并配置阿里云加速

docker入门加实战——docker安装并配置阿里云加速 为什么要学习docker 在开发和部署项目的过程中,经常会遇到如下问题: 软件安装包名字复杂,不知道去哪里找 安装软件和部署项目步骤复杂,容易出错 这就是我们今天要学习Docker技术要解决的问题。有了Docker以后,项目的部署会如丝般顺 ......
docker 实战

redis

redis持久化机制 redis的数据保存方法 redis的数据都保存在内存中,所以访问快。radis还会将保存在内存的信息不定期存到磁盘中。 使用两种机制存储 RDB--Redis DataBase(默认) AOF--Append Only File 配置(配置文件redis.conf中) 1、s ......
redis

Redis

Remote Dictionary Service 字典存储 数值以键值对保存K-->V 最常用set(存储)、get(取值) value的数据类型 String:字符和整型 Hash:哈希表 List:有序数组 Set:无序数组 ZSet:有序集合 Redis常见用途 缓存 分布式session、 ......
Redis

Redis笔记

redis数据类型 字符串(String): 存储单个值。 用例:存储文本、数字、计数器等。 SET username "john_doe" GET username 列表(List): 有序集合,允许重复元素。 用例:消息队列、新闻推送、日志记录等。 LPUSH tasks "task1" LPU ......
笔记 Redis

Redis——分布式锁

基本原理 synchronized是利用JVM内部的锁监视器控制线程,但是只能在一个JVM中生效。如果有多个JVM的时候,就会有多个线程获取到锁,就无法实现多JVM进程之间的互斥了。 因此不能使用JVM内部的锁监视器了,必须使用JVM外部的锁监视器,就能保证只有一个线程获取到锁,就能实现多进程之间的 ......
分布式 Redis

Redis——底层和数据结构

数据结构 简单动态字符串SDS 可以认为在Redis中所有的东西最终都是字符串。Redis是C语言实现的,但是Redis没有直接使用C语言中的字符串,C语言字符串是字符数组实现的,存在很多问题: 1、获取字符串的长度需要运算,时间复杂度达到O(n)。 2、非二进制安全,无法保存\0字符(被识别成结束 ......
数据结构 底层 结构 数据 Redis

异步爬虫实战:实际应用asyncio和aiohttp库构建异步爬虫

在网络爬虫的开发中,异步爬虫已经成为一种非常流行的技术。它能够充分利用计算机的资源,提高爬虫效率,并且能够处理大量的运算请求。Python中的asyncio和aiohttp库提供了强大的异步爬虫支持,使得开发者能够轻松构建高效的异步爬虫。 什么是异动爬虫?为什么要使用自动爬虫? 异步爬虫是一种高效的 ......
爬虫 实战 实际 asyncio aiohttp

Redis——基本使用

五种数据类型 Redis是一个基于内存的数据库。是一个key-value的数据库,key一般是String类型,value的类型多种多样。 字符串String SET name zhangxiancheng //redis中默认都是使用字符串来存储数据的 DEL key//删除 EXISTS key ......
Redis

redis-cluster nodes命令信息说明

集群定义 1.1 每个字段的含义如下: 1. id: 节点ID,一个40字节的随机字符串,节点创建时生成,且不会变化(除非使用CLUSTER RESET HARD命令)。 2. ip:port: 客户端访问的地址。 3. flags: 逗号分隔的标记位,可能值有:myself, master, sl ......
redis-cluster 命令 cluster redis nodes

企业级增量实战

企业级增量恢复实战 背景: 某大型网站,mysql数据库,数据量500G,每日更新量100M-200M 备份策略: xtrabackup,每周六0:00进行全备,周一到周五及周日00:00进行增量备份。 故障场景: 周三下午2点出现数据库意外删除表操作。 模拟故障: # 编辑脚本 #!/bin/ba ......
增量 实战 企业

为什么redis使用单线程——简单说下

redis使用单线程主要原因第一个,每条命令都是原子操作,单线程能够保证原子性。第二个原因,如果设计为多线程,肯定存在锁的竞争导致锁的获取释放开销,线程切换的开销,这与我们使用redis是相违背的。尽管redis设计为单线程,但是他的性能很高,主要原因是基于内存,以及pipeline机制都能保证re ......
线程 redis

Redis学习之秒杀业务

秒杀业务的核心流程是:判断日期和库存、扣减库存、创建订单 如下图: 注意,秒杀库存信息和商品信息最好是独立的两张表,不要放在一起影响性能。 @Resource private ISeckillVoucherService seckillVoucherService; ​ @Resource priv ......
业务 Redis

Spring、Redis相关知识查漏补缺

动态web页面不具有动态性 × 静态web页面不具有交互性 √ 事务隔离级别是数据库自带的与Spring无关 √ Spring自己实现了—套与数据库无关的事务机制 × 软件框架是面向某个领域的、可复用的半成品软件 √ 使用软件框架的优势是开发的灵活性和扩展性更好 × 拦截器可以拦截所有请求(包括静态 ......
知识 Spring Redis

redis(二)

一、redis 高可用与集群 虽然Redis可以实现单机的数据持久化,但无论是RDB也好或者AOF也好,都解决不了单点宕机问题,即一旦单台redis服务器本身出现系统故障、硬件故障等问题后,就会直接造成数据的丢失,因此需要使用另外的技术来解决单点问题。 1.1. 主备模式(master/slave) ......
redis

Redis分布式锁

简述 利用Redis的Setnx命令,来实现一个分布式的加锁方案。利用注解,在拥有该注解的方法上,进行切面处理,在方法执行前,进行加锁,执行结束后,根据是否自动释放锁,进行解锁。 将该注解用在定时任务的方法上,即可实现分布式定时任务,即获取到锁的方法,才会执行。 1 redis命令 1.1 setn ......
分布式 Redis

编译安装redis

#安装依赖包 [root@centos7 ~]#yum -y install gcc jemalloc-devel #下载源码 [root@centos7 ~]#wget http://download.redis.io/releases/redis-5.0.7.tar.gz [root@cento ......
redis

Redis Cluster扩、缩容

1、Redis Cluster扩容(Redis 5为例) 因公司业务发展迅猛,现有的三主三从的redis cluster架构可能无法满足现有业务的并发写入需求,因此公司紧急采购两台服务器10.0.0.68,10.0.0.78,需要将其动态添加到集群当中,但不能影响业务使用和数据丢失。 注意: 生产环 ......
Cluster Redis

redis服务配置文件详解

bind 0.0.0.0 #监听地址,可以用空格隔开后多个监听IP protected-mode yes #redis3.2之后加入的新特性,在没有设置bind IP和密码的时候,redis只允许访问127.0.0.1:6379,可以远程连接,但当访问将提示警告信息并拒绝远程访问 port 6379 ......
服务配置 文件 redis