分布式redis setnx lua

Redis哨兵模式实施方案

部署 Redis 主从节点 在部署 Redis 主从节点时,可以选择单机部署、容器部署或者集群部署等方式。需要注意的是,主节点和从节点的配置要保持一致,并且在主节点中设置密码,以增加安全性。 单机部署可以通过下载 Redis 的二进制文件并解压来完成,具体步骤如下: (1)下载 Redis 二进制文 ......
哨兵 实施方案 模式 方案 Redis

Redis缓存穿透-布隆过滤器

Redis缓存穿透-布隆过滤器 缓存穿透 我举个蘑菇博客中的案例来说,我现在有一个博客详情页,然后博客详情页中的内容假设是存储在Redis中的,然后通过博客的Uid进行获取,正常的情况是:用户进入博客详情页,然后通过uid获取redis中缓存的文章详情,如果有内容就直接访问,如果不存在内容,那么需要 ......
过滤器 缓存 Redis

Redis_IO多路复用底层原理

从底层了解IO多路复用模型 前言 当我们去面试的时候,问到了 redis,nginx,netty他们的底层模型分别是什么? redis -> epoll nginx-> epoll netty-> epoll? 需要从操作系统的层面上来谈 BIO 当我们开机的时候,首先被加载进内存的是我们的Kern ......
底层 Redis_IO 原理 Redis IO

nodejs处理一段redis获取集合,数组的代码优化(其中包含:es6同步返回数据的处理,new Promise)

从异步,用延时来处理,改成同步获取数据 获取数据主要分2步: 1.从redis集合中获取数组; 2.遍历数组,抓取其中字符串,解析,拼接成需要的数据,返回给前端 原代码,用sleep方法,避免异步数据处理带来的提前返回数据的问题; (缺点:时间比较久,逻辑中是有问题的) // 获取线路上公交的位置信 ......
数组 Promise 代码 数据 nodejs

若依微服务连接redis 一段时间报错,后来改成连接池后也是报错 Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s)

springBoot版本是2.x 所以呢redis客户端是lettuce,而不是jedis; lettuce支持异步,而且是线程安全的。 jedis是同步的,线程不安全需要每个线程一个Jedis实例,所以一般通过连接池来使用Jedis。 我这里用的是lettuce连接池的配置还是报错了呢: spri ......

分布式ID生成-雪花算法(Snowflake)

1 描述 使用原生Java方式生成雪花算法, 雪花算法是推特公司开源的生成唯一ID的算法, 性能更高,可以避免对第三方依赖的使用, 减少耦合 1)能满足高并发分布式系统环境下ID不重复 2)基于时间戳,可以保证基本有序递增,即按照时间趋势递增(有些业务场景对这个有要求) 3)算法本身不依赖第三方的库 ......
分布式 算法 雪花 Snowflake

Linux 安装 redis

1. 验证是否有 gcc gcc -v 若无,执行 yum install -y gcc g++ gcc-c++ make 2. https://www.cnblogs.com/hunanzp/p/12304622.html ......
Linux redis

redis 10大数据类型

Redis 10大数据类型 这里说的数据类型是value的数据类型,key的类型都是字符串。 Redis key Redis key是String类型,也是二进制安全的,我们可以使用任何二进制序列作为键,从像“foo”这样的字符串到 JPEG 文件的内容。 关于Redis的key有以下规则和建议: ......
类型 数据 redis

Redis简介

Redis是什么 Remote Dictionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式 ......
简介 Redis

redis安装

这里先介绍下简单安装,主要搭建 命令调试环境,其实也可以直接使用线上调试工具,进入官网就能看到 https://redis.io/ windows下安装 **下载地址:**https://github.com/tporadowski/redis/releases。 下载:Redis-x64-5.0. ......
redis

Redis配置

Redis 配置 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)。 你可以通过 CONFIG 命令查看或设置配置项。 语法Redis CONFIG 命令格式如下:redis 127.0.0.1:6379 ......
Redis

浅谈分布式环境下WebSocket消息共享问题

浅谈分布式环境下WebSocket消息共享问题 技术分析 我们在开发时会遇到需要使用即时通讯的场景,当然,实现方式很多,Socket、MQTT、Netty....等等。 具体用哪种就在于业务的需求了,去选择合理的方式实现。 今天小简要聊的场景便是分布式环境下,WebSocket的消息共享问题。 分布 ......
分布式 WebSocket 消息 环境 问题

为什么不建议用redis做消息队列

redis的list做队列其实还是很爽的,简单,一个读一个写即可,而且基本每个系统都会使用redis,接入没有附加成本,也没有额外的学习成本。 如果需要订阅模型,写三个队列,然后三个消费者分别读自己的那个即可。 但是,也有一些问题: 无法回放,消费了即消失,没有记录。 消息体如果很大,会占用很多内存 ......
队列 消息 建议 redis

为什么Redis不直接使用C语言的字符串?看完直接吊打面试官!

众所周知Redis有以下几种常见的数据类型 String(字符串)、List(列表)、Set(集合)、Hash(哈希)、Sorted set(有序集合)、Stream(流)、Geo(地理空间索引)、Bitmap(位图)、HyperLogLog(基数统计)等。 我们最常用的就是String(字符串)... ......
字符串 字符 语言 Redis

nodejs获取redis集合内容,同步方法

可以使用redis模块来连接和操作Redis数据库。以下是使用该模块获取Redis集合内容的同步方法: // 引入redis模块 const redis = require('redis'); // 创建redis客户端 const client = redis.createClient(); // ......
方法 内容 nodejs redis

redis前言

已经忘记是什么时候开始接触Redis了,我们使用一个技术往往从业务需要开始的。 从OA转入CICD项目,架构师给了重构方案,给了时间点,jarlor5+mysql 改为Openresy+Lua+Redis搞定OS心跳管理, 从当初现存5W主机纳管,支撑到100W主机。 不去理解内核你都不知道Java ......
前言 redis

Redis的五种数据类型及其应用场景

1、数据类型 String(字符串,整数,浮点数):做简单的键值对缓存 List(列表):储存一些列表类型的数据结构 Hash(哈希):包含键值对的无序散列表,结构化的数据 Set(无序集合):交集,并集,差集的操作 Zset(有序集合)(Sorted sets):去重同时也可以排序 先通过一张图了 ......
场景 类型 数据 Redis

redis分布式锁

redis分布式锁 ......
分布式 redis

【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(Paxos篇)

概念简介 Paxos是一种基于消息传递具有高度容错特性的一致性算法,是目前公认的解决分布式一致性问题最有效的算法之一。 发展历史 Paxos算法的发展历史追溯到古希腊,当时有一个名为“Paxos“的小岛, 岛上采用一会的形式通过法令, 议会中议员通过信使进行消息传递,议员与信使都是兼职的,他们随时都 ......
分布式 技术 一致性 算法 架构

Redis - 基础数据类型

学会使用 Redis 的一个重要内容就是 Redis 的数据类型,对于开发人员而言,学会 Redis 基础数据类型的使用即可应用到程序开发当中。 ......
类型 基础 数据 Redis

精准测试之分布式调用链底层逻辑

作者:京东工业 宛煜昕 概要: 1. 调⽤链系统概述; 2. 调⽤链系统的演进; 3. 调⽤链的底层实现逻辑; 4. Span内容组成。 ⼀、分布式调⽤链系统概述 客户打电话给客服说:“优惠券使⽤不了”。 -客服告诉运营⼈员 --运营打电话给技术负责⼈ 技术负责⼈通知会员系统开发⼈员 会员找到营销系 ......
分布式 底层 逻辑

Java项目是不是分布式,真有那么重要吗?

大家好,我是3y啊。 大概不知道从什么时候,「微服务」「分布式」这两个词又再次频繁出现在我的视线里。 「微服务」「分布式」在我刚毕业的时候还是比较关注的,那时候还入门了一把SpringCloud,写了一篇很长的文章,还是很顶的,有不少的大号都给我转载了,在知乎又获得了很多的赞。 那时候觉得懂「分布式 ......
分布式 项目 Java

Redis中 HyperLogLog数据类型使用总结

转载请注明出处: 目录 1. HyperLogLog 的原理 2.使用步骤 3.实现请求ip去重的浏览量使用示例 4.Jedis客户端使用 5.Redission使用依赖 6.HyperLogLog 提供了哪些特性和方法 7.使用场景总结 1. HyperLogLog 的原理 Redis Hyper ......
HyperLogLog 类型 数据 Redis

Redis使用ZSET实现消息队列使用总结一

转载请注明出处: 目录 1.zset为什么可以做消息队列 2.zset实现消息队列的步骤 3.使用jedis实现消息队列示例 4.+inf与-inf 5.redis使用list与zset做消息队列有什么区别 1.zset为什么可以做消息队列 zset做消息队列的特性有: 有序性:zset中所有元素都 ......
队列 消息 Redis ZSET

Redis使用ZSET实现消息队列使用总结二

转载请注明出处: 目录 1.redis 用zset做消息队列如何处理消息积压 2.redis分片并使用zset做消息队列 3. redis如何分片 4. redis使用java发送消息到zset队列并对消息进行分片处理 5. redis使用zset做消息队列时,有多个消费者同时消费消息怎么处理 6. ......
队列 消息 Redis ZSET

【Redis场景5】集群秒杀优化-分布式锁

集群环境下的秒杀问题 前序 【Redis场景1】用户登录注册 【Redis场景2】缓存更新策略(双写一致) 【Redis场景3】缓存穿透、击穿问题 【Redis场景拓展】秒杀问题-全局唯一ID生成策略 【Redis场景4】单机环境下秒杀问题 在单机环境下的并发问题,我们可以使用相关锁来解决;但是在集 ......
分布式 集群 场景 Redis

Solon2 分布式事件总线的技术价值?

分布式事件总线在分布式开发(或微服务开发)时,是极为重要的架构手段。它可以分解响应时长,可以削峰,可以做最终一致性的分布式事务,可以做业务水平扩展。 ......
分布式 总线 事件 价值 Solon2

Masa Framework源码解读-02缓存模块(分布式缓存进阶之多级缓存)

序言 ​ 今天这篇文章来看看Masa Framework的缓存设计,上一篇文章中说到的MasaFactory的应用也会在这章节出现。文章中如有错误之处还请指点,咱们话不多说,直入主题。 Masa Framework缓存简介 MASA Framework源码地址:https://github.com/ ......
缓存 分布式 Framework 源码 模块

ASP.NET Core使用filter和redis实现接口防重

背景 日常开发中,经常需要对一些响应不是很快的关键业务接口增加防重功能,即短时间内收到的多个相同的请求,只处理一个,其余不处理,避免产生脏数据。这和幂等性(idempotency)稍微有点区别,幂等性要求的是对重复请求有相同的效果和结果,通常需要在接口内部执行业务操作前检查状态;而防重可以认为是一个 ......
接口 filter redis Core ASP

【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务

问题描述 在 Spring Boot 项目中,使用 Redisson 连接 Azure Redis 服务,如下是详细的操作步骤(项目源代码文末可下载) 示例步骤 第一步: 在 Spring Boot 的项目中,添加 redisson-spring-boot-starter 依赖 在项目的pom.xm ......