• 基于Redis消息的订阅发布应用场景

    基于Redis消息的订阅发布应用场景1.应用背景在物联网采集管控系统中,前后端隔离的情况下,前端通过表单(比如按钮,开关,表格等)输入数据到数据库(比如MySql,通过WEBAPI服务端输入),然后采集控制端到数据库里去扫表取数据,将数据下发给物联网络中的终端设备(比如风扇控制板),从而来控制风扇的开跟关。2.困境采集控制端需要到数据库中去扫表。这个扫表操作会带来几个问题:2....

    Redis 2021年08月18日 108 0
  • 初探 Redis 客户端 Lettuce:真香

    一、Lettuce 是啥?一次技术讨论会上,大家说起 Redis 的 Java 客户端哪家强,我第一时间毫不犹豫地喊出 "Jedis, YES!"“Jedis 可是官方客户端,用起来直接省事,公司中间件都用它。除了 Jedis 外难道还有第二个能打的?”我直接扔出王炸。刚学 Spring 的小张听了不服:“SpringDataRedis 都用 RedisTemplate!Jed...

    Redis 2021年07月10日 205 0
  • Redis基础篇

    一、从常用数据结构说起上文说到Redis提供了丰富的数据结构,包括STRING(字符串)、LIST(列表)、SET(集合)、HASH(散列)和ZSET(有序集合)基本数据类型。先来一波操作感受一下:基本的数据类型的大概使用就到这里,接下来就分析一下它的内部结构是怎么实现的。二、底层实现Redis是KV类型的数据库,Key-Value我们一般会用什么数据结构存储?哈希表!没错Re...

    Redis 2021年03月12日 452 0
  • Linux运维指南Nacos、Rabbit MQ、Redis

    Linux运维指南含Nacos、Rabbit MQ、Redis一、Rabbit MQ安装指南1.1安裝Erlang语言因为Rabbit MQ是基于Erlang语言开发的,运行环境必须依赖于Erlang,无论是Windows机器还是Linux机器,安装Rabbit MQ之前第一步要安装Erlang.1.1.1安装Erlang所需依赖进入Linux服务器,创建/u01目录:mkdi...

    Redis 2021年03月10日 638 0
  • Redis是如何持久化到硬盘的

    Redis为什么需要持久化我们在项目中或多或少会用到Redis,Redis主要用作缓存数据库。使用Redis可以大大提升我们程序是性能,使用Redis之所以快的原因之一是Redis的数据是存储在内存中,应用程序访问Redis只需要从内存中读取即可。从内存中读取数据确实能提高访问速度,但是当Redis挂了,内存中的数据就会丢失掉,为了防止数据丢失,我们需要将数据持久化到硬盘中。当...

    Redis 2021年03月09日 376 0
  • Redis如何实现分布式锁?

    前言如果在一个分布式系统中,我们从数据库中读取一个数据,然后修改保存,这种情况很容易遇到并发问题。因为读取和更新保存不是一个原子操作,在并发时就会导致数据的不正确。这种场景其实并不少见,比如电商秒杀活动,库存数量的更新就会遇到。如果是单机应用,直接使用本地锁就可以避免。如果是分布式应用,本地锁派不上用场,这时就需要引入分布式锁来解决。由此可见分布式锁的目的其实很简单,就是为了保...

    Redis 2021年03月08日 409 0
  • 如何破解缓存穿透和并发?

    缓存是我们现在经常使用的技术之一,对于缓存的使用,看似非常简单,其实却蕴含着很多技巧在里面,这些技巧可以帮助我们最大化地发挥缓存的功效,减少因为缓存的使用导致的线上生产事故,那么这些技巧都有哪些,如何使用呢?下面试着从缓存穿透,缓存并发来开展破解之道。缓存穿透流程和危害  在通常情况下,我们在前台是如何使用缓存的呢?我们来看下面这个流程:  当系统接收到一个请求时,请求先从缓存...

    Redis 2021年02月28日 377 0
  • 跨越异构鸿沟,Redis 迁移同步过程中的挑战与解决方案

    随着云计算十余年的高速发展,作为目前可见的最新阶段,多云正在快步大踏步前进。而多云趋势所带来得数据云间迁移,也逐步常态化。因此, 缓存 Redis 已成为高并发场景下提升数据访问速度的标配。不仅是数据云间迁移,目前大型系统对于缓存强依赖,致使大多数企业都会面临大量并发读写数据时访问速度慢、数据库压力大,以及缓存数据不⾜带来的缓存击穿及雪崩⻛险。其中, Redis 就起到了降低数...

    Redis 2021年02月26日 397 0
  • Redis集群实战篇

    1. 拉取redis镜像docker pull redis:6.0.92. 配置文件2.1 生成目录用来存放redis的配置文件与持久化文件,日志文件等# 新增目录 mkdir -p /www/redis/redis_001/ && mkdir -p /www/redis/redis_001/data/ # 切换目录 cd /www/redis/redis_0...

    Redis 2021年02月05日 436 0
  • redis的五种数据结构和应用场景:微博微信点赞+加购物车等

    Redis五种数据结构如下:1.String 字符串类型是redis中最基本的数据类型,一个key对应一个value。String类型是二进制安全的,意思是 redis 的 string 可以包含任何数据。如数字,字符串,jpg图片或者序列化的对象。2.Hash (哈希)是一个Mapmap,指值本身又是一种键值对结构,如 value={{field1,value1},........

    Redis 2021年02月02日 661 0
  • Redis 之哈希

    命令hset key field value 设置值,成功返回1,失败返回0,hash提供了 hsetnx 命令 只有key不存在才会设置成功hget key value 获取值hdel key field [field ...] 删除filed,返回删除成功的个数hlen key 统计field个数hmget key field [field ...] 批量获取field v...

    Redis 2021年01月30日 416 0
  • Redisson 3.15.0 新特性spinLock和其它

    Redisson 3.15.0发布了,带来了Apache Tomcat 10的支持,以及spin lock先看spinLock目前支持四种编程模式,一种原生,一种Async 异步,一种Reactive, 一种RxJava 2看原生的RLock lock = redisson.getSpinLock("myLock"); // traditional lock method l...

    Redis 2021年01月30日 1052 0
  • 可以了,基于Redis和Lua实现分布式令牌桶限流

    限流是一个很大的话题,准备把其中的所有限流器都实现一遍,以此也算全都写过了,到时候再用也不至于会心虚,毕竟真实写完成过。本文主要讲述了如何基于 Redis 与 Lua实现分布式令牌桶的限流方案。读前提问我觉得学习任何东西前都应该有自己的反问,这种反问基于标题给你的大概印象。带着问题来看文章,最后应该比盲目的看有收获,先提出几个基础的问题。限流是什么通过某种手段对某个时间段的并发...

    Redis 2021年01月30日 351 0
  • 原来大厂的Redis分布式锁都这么设计的

    1 本地锁常用的即 synchronize 或 Lock 等 JDK 自带的锁,只能锁住当前进程,仅适用于单体架构服务。 而在分布式多服务实例场景下必须使用分布式锁2 分布式锁2.1 分布式锁的原理厕所占坑理论可同时去一个地方“占坑”:占到,就执行逻辑否则等待,直到释放锁可通过自旋方式自旋“占坑”可以去Redis、DB、任何所有服务都能访问的地方。2.2 分布式锁演进一阶段//...

    Redis 2021年01月29日 476 0
  • 哦哟!才知道,原来大厂的Redis分布式锁都这么设计

    本地锁常用的即 synchronize 或 Lock 等 JDK 自带的锁,只能锁住当前进程,仅适用于单体架构服务。 而在分布式多服务实例场景下必须使用分布式锁2 分布式锁2.1 分布式锁的原理厕所占坑理论可同时去一个地方“占坑”:占到,就执行逻辑否则等待,直到释放锁可通过自旋方式自旋“占坑”可以去Redis、DB、任何所有服务都能访问的地方。2.2 分布式锁演进一阶段// 占...

    Redis 2021年01月27日 377 0
  • Redis 之 字符串

    字符串是Redis最基础的数据结构。关键字都是字符串类型。字符串的值可以是字符串(简单的字符串、复杂的字符串(JSON,XML)、数字、甚至是二进制(图片、音频、视频),但是最大值不能超过 512M。常用命令set key value [ex seconds] [px milliseconds] [nx|xx]ex seconds :为键设置秒级过期时间px milliseco...

    Redis 2021年01月27日 334 0
  • redis5.0.8自动安装部署脚本

    1、本脚本支持离线与在线安装(指依赖包使用离线rpm或是在线使用yum安装,redis本身采用源码安装)2、相关软件下载地址redis5.0.8下载地址:http://download.redis.io/releases/redis-5.0.8.tar.gz脚本以及rpm包下载地址:https://github.com/domdanrtsey/redis_auto_instal...

    Redis 2021年01月26日 462 0
  • 谈谈高可用之降级

    一、降级是高可用的一大利器降级有如下分类:1.自动降级和人工降级2.读降级和写降级3.多级降级二、自动降级1.超时降级当调用数据库/HTTP服务/远程调用响应慢,且调用的服务是非核心服务,可以设置超时时间,超时后自动降级。比如,商品详情页的猜你喜欢,评价等内容,在大促时如果该服务出现问题或者响应慢的话,可以降级,它并不影响用户的购物主流程。2.统计调用失败次数降级有时系统会依赖...

    Redis 2021年01月25日 459 0
  • 不是吧?为了加快速度,Redis竟做了这么“疯狂”的设计

    前言列表对象是 Redis 中 5 种基础数据类型之一,在 Redis 3.2 版本之前,列表对象底层存储结构有两种:linkedlist(双端列表)和 ziplist(压缩列表),而在 Redis 3.2 版本之后,列表对象底层存储结构只有一种:quicklist(快速列表),难道通过精心设计的 ziplist 最终被 Redis 抛弃了吗?列表对象同字符串对象一样,列表对象...

    Redis 2021年01月18日 385 0
  • redis存json数据时选择string还是hash

    我们在缓存json数据到redis时经常会面临是选择string类型还是选择hash类型去存储。接下来我从占用空间和IO两方面来分析这两种类型的优势。1、占用空间根据数据结构的共识我们知道hashtable类型是要比string类型更占用空间, 而ziplist类型与string类型占用的空间基本相差不大。如下图就是ziplist的存储的格式那我们接下来分别分析redis的st...

    Redis 2021年01月17日 421 0
  • Redis高可用架构演进

    Redis系列第1篇Redis是目前使用最广泛的缓存程序之一,也被应用于多种场景,例如数据缓存、分布式锁等,Redis官方提供了多种部署架构,以满足不同应用场景下对于高可用和扩展性的要求。01单节点(single)单节点的部署是最简单的,只要启动一个redis进程就可以了,但是不具备高可用性,一般生产环境不建议使用,其主要有以下问题:单节点,一旦出问题,服务将会不可用【1】单节...

    Redis 2021年01月15日 449 0
  • Redis集群的5种使用方式,及各自优缺点对比分析

    本文主要针对 Redis 常见的几种使用方式及其优缺点展开分析。一、常见使用方式Redis 的几种常见使用方式包括:Redis 单副本Redis 多副本(主从)Redis Sentinel(哨兵)Redis ClusterRedis 自研二、各种使用方式的优缺点1、Redis 单副本Redis 单副本,采用单个 Redis 节点部署架构,没有备用节点实时同步数据,不提供数据持久...

    Redis 2021年01月14日 650 0
  • 腾讯开源分布式存储系统Tendis,可完全兼容Redis

    近日,腾讯宣布开源一个与 Redis 协议完全兼容的高性能分布式存储系统 Tendis。据悉,Tendis 是腾讯互娱 CROS DBA 团队 & 腾讯云数据库团队自主设计和研发的分布式高性能 KV 存储数据库,兼容 Redis 核心数据结构与接口,可提供大容量、低成本、强持久化的数据库能力,适用于兼容 Redis 协议、需要大容量且较高访问性能的温冷数据存储场景。Te...

    Redis 2020年12月24日 699 0
  • Redis缓存机制与应用

    Redis是目前最为主流的缓存技术之一,Redis基于内存操作从而拥有强大的性能,可以达到每秒10万次的请求,可以说是一款非常强大的缓存技术了。本文分为三部分:基础知识介绍常用技术讲解与缓存机制使用场景、缓存问题基础知识介绍NoSQL概述什么是NoSQL?NoSQL = Not Only SQL (不仅仅是SQL)关系型数据库:表格 ,行 ,列 非关系型数据库:没有固定的查询语...

    Redis 2020年12月11日 7120 0
  • Redis持久化问题定位与优化技巧

    今天主要分享继Redis持久化方式RDB、AOF之后的一些常用的Redis问题定位于优化方式。这里主要CPU、内存、磁盘在三个维度去分析问题! Fork操作当Redis做RDB或AOF重写时,一个必不可少的操作就是执行fork操作创建子进程,对于大多数操作系统来说fork是个重量级操作虽然fork创建的子进程不需要拷贝父进程的物理内存空间,但是会复制父进程的空间内存页表。例如对...

    Redis 2020年12月08日 496 0
  • Redis两种持久化机制RDB和AOF详解(面试常问,工作常用)

    redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。幸好Redis还为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Append Only File)。在这里假设你已经了解了redis的基础语法,某字母网站都有很好的教程,可以去看。基本使用的文章就不写了,都是一些常用的命令。下面针对这两种方式来介绍...

    Redis 2020年12月07日 540 0
  • 一万字详解 Redis Cluster Gossip 协议

    大家好,我是历小冰,今天来讲一下 Reids Cluster 的 Gossip 协议和集群操作,文章的思维导图如下所示。集群模式和 Gossip 简介对于数据存储领域,当数据量或者请求流量大到一定程度后,就必然会引入分布式。比如 Redis,虽然其单机性能十分优秀,但是因为下列原因时,也不得不引入集群。单机无法保证高可用,需要引入多实例来提供高可用性单机能够提供高达 8W 左右...

    Redis 2020年12月04日 594 0
  • Redis学习知识点

    1.Redis的应用场景? 1.Token令牌的生成 2.短信验证码的code 3.可以实现缓存查询数据 a. 减轻我们的数据库的访问压力 Redis与mysql数据库不同步的问题 4.Redis帮助实现计数器 5.分布式锁 6.延迟操作 分布式消息中间件 注意:Redis官方是没有windows版本的,只有linux,这是因为 在nio中epoll只有linux操...

    Redis 2020年11月17日 495 0
  • 一个架构师的缓存修炼之路

    一位七牛的资深架构师曾经说过这样一句话:“Nginx+业务逻辑层+数据库+缓存层+消息队列,这种模型几乎能适配绝大部分的业务场景。这么多年过去了,这句话或深或浅地影响了我的技术选择,以至于后来我花了很多时间去重点学习缓存相关的技术。我在10年前开始使用缓存,从本地缓存、到分布式缓存、再到多级缓存,踩过很多坑。下面我结合自己使用缓存的历程,谈谈我对缓存的认识。01 本地缓存1. ...

    Redis 2020年11月14日 544 0
  • 因为一次redis缓存穿透,全面探究redis能做什么

    问题背景:网关支付,支付之前需要根据商户去获取支持的银行列表,银行列表是商家首次在我们系统里申请开户的时候配置进去的,第一次获取列表是通过调远程接口查询数据库获取的,获取成功后,结果保存在redis缓存中,有效期设置6小时,以后每次查询都直接访问redis缓存即可。出现问题是有一批新商户没有配置银行列表,发起支付获取银行列表时,首次调用接口获取结果失败,没有放置缓存;商户反复提...

    Redis 2020年10月12日 582 0