zl程序教程

Redis 6.0

  • Redis初识

    Redis初识

    1. Redis 简介在这个部分,我们将学习以下3个部分的内容,分别是:◆ Redis 简介(NoSQL概念、Redis概念)◆ Redis 的下载与安装◆ Redis 的基本操作1.1 NoSQL概念1.1.1 问题现象在讲解NoSQL的概念之前呢,我们先来看一个现象:(1)问题现象每年到了过年期间,大家都会自觉自发的组织一场活动,叫做春运!以前我们买票都是到火车站排队,后来呢有了12306,有

    日期 2023-06-12 10:48:40     
  • Redis在SpringBoot的基本使用

    Redis在SpringBoot的基本使用

    大家好,又见面了,我是你们的朋友全栈君。一、配置1.添加依赖在 springboot 启动器中直接添加依赖,或者创建后添加 Maven 依赖:<!--spring-boot-starter-data-redis--> <dependency> <groupId>org.springframework.boot</groupId> &l

    日期 2023-06-12 10:48:40     
  • 玩转 Spring Boot 应用篇(引入Redis解决店铺高并发读的问题)(十七)

    玩转 Spring Boot 应用篇(引入Redis解决店铺高并发读的问题)(十七)

    0. 0.1. 回顾(菜菜的店铺目前存在的问题)为了大家能够熟练应用 Spring Boot 相关技术,前几天菜菜同学基于 Spring Boot 快速搭建了一个商品售卖网站(V1),然后一起演示了商品超卖问题(V2),并对其进行分析,引入了悲观锁、乐观锁、可重入锁来解决商品超卖的问题,并借机提了提 CAS 的概念,以及 CAS 带来的 ABA 问题的解决方案。菜菜的店铺技术实现很简单,基于 My

    日期 2023-06-12 10:48:40     
  • mongoose、koa2和redis的简单安装使用

    mongoose、koa2和redis的简单安装使用

    mongoose的介绍及使用参考之前文章:点击这里koa2简介Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。 通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。

    日期 2023-06-12 10:48:40     
  • 第十章· Logstash深入-Logstash与Redis那点事

    第十章· Logstash深入-Logstash与Redis那点事

    Logstash将日志写入Redis -曾老湿, 江湖人称曾老大。 -多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltsta

    日期 2023-06-12 10:48:40     
  • 第七章· Redis Cluster 核心技术

    第七章· Redis Cluster 核心技术

    Redis Cluster 分布式集群 Redis Cluster 安装部署 Redis Cluster 集群管理操作(核心) -曾老湿, 江湖人称曾老大。 -多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整

    日期 2023-06-12 10:48:40     
  • Redis删除策略和淘汰策略[通俗易懂]

    Redis删除策略和淘汰策略[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。 1.删除策略 Redis 是一种内存级数据库,数据都存在内存中,但是针对于已经过期的数据,reids 不 会立刻删除只是会存储在 expires 中,当执行删除策略的时候,才会从 expires 中寻找对应的数据存储的地址,在存储空间中找到对应的数据进行删除。数据删除其实就是内存和 CPU 占用之间寻找平衡,CPU 才能去处理事情,针

    日期 2023-06-12 10:48:40     
  • redis集群客户端JedisCluster优化 – 管道(pipeline)模式支持

    redis集群客户端JedisCluster优化 – 管道(pipeline)模式支持

    Redis在3.0版正式引入了集群这个特性,扩展变得非常简单。然而当你开心的升级到3.0后,却发现有些很好用的功能现在工作不了了, 比如我们今天要聊的pipeline功能。复制我们知道,普通的情况下,redis client与server之间采用的是请求应答的模式,即: Client: command1 Server: response1 Client: command2 Server

    日期 2023-06-12 10:48:40     
  • redis避免缓存击穿_redis防止缓存击穿

    redis避免缓存击穿_redis防止缓存击穿

    工具类/** * Redis工具类 * * @author issavior */ @Slf4j @Component public class RedisClient { private final StringRedisTemplate stringRedisTemplate; private static final ExecutorService CACHE_

    日期 2023-06-12 10:48:40     
  • 异步编程规避Redis的阻塞(下)

    异步编程规避Redis的阻塞(下)

    3 可异步执行的阻塞点在分析阻塞式操作的异步执行的可行性前,先了解异步执行对操作的要求。若一个操作能被异步执行,说明它不是Redis主线程关键路径上的操作。3.1 关键路径操作客户端把请求发给Redis后,等Redis返回数据结果: 主线程接收到操作1后,由于操作1无需给客户端返回具体数据,所以,主线程可将其移交给后台子线程处理,同时只需给客户端返回“OK”。 操作1就不属关键路径操作,因其不

    日期 2023-06-12 10:48:40     
  • Redis远程连接Redis客户端

    Redis远程连接Redis客户端

    大家好,又见面了,我是你们的朋友全栈君。 在虚拟机的linux系统中一 进入redis下的目录二 启动 redis服务三 连接客户端四 在windows本地中安装 redis可视化软件五 在linux关闭客户端六 设置防火墙规则:我的因为已经设置过 设置防火墙规则:firewall-cmd –zone=public –add-port=6379/tcp –permanent七设置密码:修改r

    日期 2023-06-12 10:48:40     
  • Redis内存碎片的产生与清理

    Redis内存碎片的产生与清理

    前言在做redis内存清理时我们会关注redis的实时内存占用,即通过info memory命令查看内存使用情况:我们比较常关注的是used_memory以及used_memory_rss,这两项分别是redis中的数据占用的内存以及redis向操作系统申请的所有内存,可以看到这里这两项差距是很大的,我们也可以通过另一项更直观的观察这两项的差距,即mem_fragmentation_ratiom

    日期 2023-06-12 10:48:40     
  • 使用Redis时我们主要关注啥

    使用Redis时我们主要关注啥

    导读:本文介绍,在使用 Redis 过程中我们需要关注的两个主要方面:QPS、内存在实际使用Redis过程中我们需要关注两点:QPS,即Redis每秒处理请求数。Redis作为单线程架构服务,如果发生阻塞将是致命的。内存,Redis作为内存数据库,考虑到内存价格昂贵,如何充分合理的使用内存,是Redis使用者必须考虑的问题。本节,将就这两个问题做重点分析。阻塞我们知道,Redis是典型单线程架构。

    日期 2023-06-12 10:48:40     
  • 鸡肋的Redis事务

    鸡肋的Redis事务

    没错,Redis也有事务管理,但是功能很简单,在正式开发中也并不推荐使用。但是面试中有可能会问到,所以本文简单谈一谈Redis的事务。通过这篇文章,你会了解Redis为什么要提供事务?Redis事务基本指令和使用方法CAS乐观锁是什么?Redis事务为什么不支持回滚?1. 为什么要用事务我们知道Redis的单个命令是原子性的,比如get、set、mget、mset等指令。原子性是指操作是不可分割的

    日期 2023-06-12 10:48:40     
  • 什么是Redis缓存雪崩、缓存穿透和缓存击穿?

    什么是Redis缓存雪崩、缓存穿透和缓存击穿?

    什么是Redis缓存雪崩、缓存穿透、缓存击穿?关于这个问题至少有20位以上的粉丝咨询过我。这确实是一道互联网大厂的高频面试题。今天,我给大家来聊一聊。另外,往期面试题解析中配套的文档我已经准备好,想获得的可以在我的煮叶简介中找到。好了,首先来说一下,缓存的作用。1.缓存的作用一般情况下,1.用户请求到后台,会先从缓存中取数据,如果在缓存中取到数据,就直接返回结果,如果取不到数据就需要查询数据库,从

    日期 2023-06-12 10:48:40     
  • Redis之NoSql入门和概述

    Redis之NoSql入门和概述

    NoSql入门和概述1、入门概述1.1、互联网时代背景下大机遇,为什么用nosql1.1.1、单机MySQL的美好年代在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。在那个时候,更多的都是静态网页,动态交互类型的网站不多。上述架构下,我们来看看数据存储的瓶颈是什么?1.数据量的总大小 一个机器放不下时2.数据的索引(B+ Tree)一个机器的内存放不下时3.访问量(读写混合)

    日期 2023-06-12 10:48:40     
  • Redis之事务

    Redis之事务

    1、是什么可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞2、能干嘛一个队列中,一次性、顺序性、排他性的执行一系列命令3、怎么玩3.1、常用命令3.2、Case1:正常执行3.3、Case2:放弃事务3.4、Case3:全体连坐3.5、Case4:冤头债主3.6、Case5:watch监控3.6.1、悲观锁/乐观锁/CAS

    日期 2023-06-12 10:48:40     
  • Redis之Java客户端Jedis

    Redis之Java客户端Jedis

    -------------------------------------" );      jedis.mset( "str1" , "v1" , "str2" , "v2" , "str3" , "v3" );      System. out .println

    日期 2023-06-12 10:48:40     
  • Redis 非关系型数据库学习(一) ---- Redis 的安装

    Redis 非关系型数据库学习(一) ---- Redis 的安装

    文章目录Redis 学习(一) ---- Redis 的安装Window安装1、github下载 zip2、下载好的压缩包3、开启redis服务,客户端测试是否连通4、redis 简单操作Linux 安装(1)环境安装 gcc(2)安装 redis 源码文件(3)安装相关文件及运行环境(4)查看根据源码安装的 redis 相关程序(5)修改Redis 程序的配置文件(6)修改具体配置Redis 学

    日期 2023-06-12 10:48:40     
  • 加密项目的数据库、Redis等密码

    加密项目的数据库、Redis等密码

     有一个有意思的事情,github搜索jdbc: mysql:// 你会发现新大陆,出现一堆可以窥探项目的个人配置,绝大多数的项目都没有做任何的加密处理(虽然也没啥人看)。这些信息万一被利用了怎么办?下面开始解决这个问题。 首先建立或者打开一个Springboot工程。Maven加密依赖 在项目的pom.xml中添加如下代码(jasypt加密组件):<dependency> <

    日期 2023-06-12 10:48:40     
  • 面试必问:redis过期key删除和内存淘汰策略

    面试必问:redis过期key删除和内存淘汰策略

    众所周知,Redis是一种内存级kv数据库,所有的操作都是在内存里面进行,定期通过异步操作把数据库数据flush到硬盘上进行保存。因此它是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作。虽然是内存数据库,但是其数据可以持久化,而且支持丰富的数据类型。 正因为是内存级操作,那么其受限于物理内存,所以Redis提供了过期key的删除以及内存淘汰策略,从而在一定程度上,能够避免达

    日期 2023-06-12 10:48:40     
  • 一口气学完4种 Redis 集群方案,真是各有千秋

    一口气学完4种 Redis 集群方案,真是各有千秋

    点击上方蓝色字体,选择“设为星标” 回复”学习资料“获取学习宝典背景 在服务开发中,单机都会存在单点故障的问题,及服务部署在一台服务器上,一旦服务器宕机服务就不可用,所以为了让服务高可用,分布式服务就出现了,将同一服务部署到多台机器上,即使其中几台服务器宕机,只要有一台服务器可用服务就可用。redis也是一样,为了解决单机故障引入了主从模式,但主从模式存在一个问题:master节点故障后服务,需要

    日期 2023-06-12 10:48:40     
  • Web版Linux、数据库、Redis、MongoDB统一管理操作平台

    Web版Linux、数据库、Redis、MongoDB统一管理操作平台

    ◆ 一、开源项目简介基于DDD分层实现的web版 linux(终端 文件 脚本 进程)、数据库(mysql postgres)、redis(单机 集群)、mongo统一管理操作平台◆ 二、开源协议使用Apache-2.0开源协议◆ 三、界面展示◆ 系统核心功能截图记录操作记录◆ 机器操作状态查看ssh终端文件操作◆ 数据库操作sql编辑器在线增删改查数据Redis操作Mongo操作 ◆ 系统管理账

    日期 2023-06-12 10:48:40     
  • Redis 慢查询分析

    Redis 慢查询分析

    简介慢查询,顾名思义就是比较慢的查询,但是究竟是哪里慢呢?首先,我们了解一下Redis命令执行的整个过程:发送命令命令排队命令执行返回结果在慢查询的定义中,统计比较慢的时间段指的是命令执行这个步骤。没有慢查询,并不表示客户端没有超时问题,有可能网络传输有延迟,也有可能排队的命令比较多。因为Redis中命令执行的排队机制,慢查询会导致其他命令的级联阻塞,所以当客户端出现请求超时的时候,需要检查该时间

    日期 2023-06-12 10:48:40     
  • 【Redis源码】Redis命令执行过程

    【Redis源码】Redis命令执行过程

    简介需要了解Redis命令执行过程,请先了解Redis启动过程和Redis事件监听。 Redis启动过程分析 Redis事件监听在Redis事件监听中我们了解到在创建文件监听事件的时候 acceptTcpHandler就是的执行函数。具体实现如下:for (j = 0; j < server.ipfd_count; j++) { if (aeCreateFileEvent(ser

    日期 2023-06-12 10:48:40     
  • 【Redis源码】mget命令

    【Redis源码】mget命令

    通过get命令只能获取单个key的值,如果想获取多个key的值,可以通过mget命令来实现。mget返回所有指定key的值。格式:mget key [key …]复制Redis所有的key-value存储在redisDb的dict中,所以通过一个for循环,就可以依次从数据库中获取到key-value。void mgetCommand(client *c) { int j; ad

    日期 2023-06-12 10:48:40     
  • 【Redis源码】strlen命令

    【Redis源码】strlen命令

    简介strlen命令从数据库中获取到value,返回value字符串的长度。格式:strlen key复制strlen 命令Redis获取到值robj的ptr之后,如果值类型是string类型,通过sdslen函数便可以获取到value的长度。如果值类型不是string类型,通过递归可以求出整型值的字符串长度:uint32_t digits10(uint64_t v) { if (v &l

    日期 2023-06-12 10:48:40     
  • 当Redis数据磁盘坏掉之后会发生什么

    当Redis数据磁盘坏掉之后会发生什么

    问题简介当Redis cluster集群数据所在磁盘的RAID卡坏掉了之后会发生什么?集群会不会进行故障迁移,以及怎么快速恢复。问题1:cluster集群会进行故障迁移嘛答案:不会。原因:当Redis集群数据磁盘所在的RAID卡坏掉之后,Redis实例并不会因为磁盘故障而直接挂掉,所以集群会认为当前的实例并没有用故障,所以不会进行故障迁移。问题2:磁盘坏掉会影响业务嘛。答案:当 stop-writ

    日期 2023-06-12 10:48:40     
  • Redis 6.0新特性----RESP3协议

    Redis 6.0新特性----RESP3协议

    RESP3协议概述RESP3是RESP v2的更新版本,RESP v2是Redis中使用的协议,大约从版本2.0开始(1.2已经支持它,但是Redis 2.0是第一个只讨论这个协议的版本)。此协议的名称只是RESP3,而不是respv3或RESP3.0。该协议用于处理客户机和服务器之间的请求-响应通信,其中客户机执行某种请求,服务器用一些数据进行回复。该协议特别适合于数据库,因为它能够返回复杂的数

    日期 2023-06-12 10:48:40     
  • Redis 6 客户端缓存

    Redis 6 客户端缓存

    Redis服务器辅助的客户端缓存客户端缓存是一种用于创建高性能服务的技术。它利用应用服务器中的可用内存,这些服务器通常是与数据库节点不同的计算机,以便将数据库信息的某些子集直接存储在应用程序端。通常当需要一些数据时,应用服务器会向数据库询问这些信息,如下图所示:+-------------+ +----------+ |

    日期 2023-06-12 10:48:40     
  • Redis 6379 被攻击

    Redis 6379 被攻击

    大家好,又见面了,我是你们的朋友全栈君。 Redis 6379 被攻击 刚开始使用redis,把端口打开了,然后没有设置密码,导致被恶意攻击,这里记录一下。 [root@realguo ~]# redis-cli 127.0.0.1:6379> keys * 1) "backup2" 2) "backup1" 3) "backup4&q

    日期 2023-06-12 10:48:40