redis管道 事务
redis实践经验总结
Redis内存配置 当Redis内存不足时,可能导致Key频繁被删除、响应时间变长、QPS不稳定等问题。当内存使用率达到80%以上时就需要我们警惕,并快速定位到内存占用的原因。 一般来说,会有以下几种占用内存的情况: 数据内存 是Redis最主要的部分,存储Redis的键值信息。主要问题是BigKe ......
I/O重定向与管道、存储管理
I/O重定向与管道 当谈论 Linux 操作系统时,I/O 重定向和管道是非常重要的概念。它们允许用户以非常灵活的方式处理输入和输出,使得命令行操作变得更加强大和高效。在这篇博客中,我们将深入探讨 Linux 中 I/O 重定向和管道的概念、用法和实际应用。I/O 重定向I/O 重定向是 Linux ......
redis中的hash tag
在集群模式下,如果lua脚本同时操作多个key,可能会出现:CROSSSLOT Keys in request don't hash to the same slot的错误。 这种情况下,可以通过{...},来指定多个key使用相同的内容进行hash,例如:user:{123}:username和u ......
redis 基本使用
1.原理 单线程多路复用 2.存储数据类型 3.持久化 4.锁 5.发布订阅 6.事务 7.布隆过滤器 布谷鸟 8.主从 哨兵 9.sharding 分片引入 10.集群 11. 击穿 穿透 雪崩 12.spirng 中使用 高低阶API ......
nginx+lua+redis实现灰度发布
授人以鱼不如授人以渔.先学会用,在学原理,在学创造,可能一辈子用不到这种能力,但是不能不具备这种能力。这篇文章主要是沉淀使用nginx+lua+redis实现灰度,当我们具备了这种能力,随时可以基于这种能力和思想调整实现方案:比如nginx+lua+(其他数据源)、nginx+(其他脚本语言) ......
Redis-缓存一致性问题
要想保证缓存和数据库「实时」一致 当数据发生更新时,我们不仅要操作数据库,还要一并操作缓存,数据库和缓存都更新,又存在先后问题,那对应的方案就有 2 个: 先更新缓存,后更新数据库 先更新数据库,后更新缓存 先不考虑并发问题,正常情况下,无论谁先谁后,都可以让两者保持一致,但现在我们需要重点考虑「异 ......
redis系列--redis单机
Redis是单线程吗? Redis的单线程主要是指Redis的网络IO和键值对读写都是由一个线程来完成的,这也是Redis对外提供键值存储服务的主要流程。但redis的其他功能,比如持久化,异步删除,集群数据同步等,其实是由额外的线程执行的。 Redis单线程为什么还能这么快? 因为它所有的数据都在 ......
Docker Compose 快速搭建 Redis 单机版
Redis 是非常流行的缓存中间件,其具有功能强大和部署简单的优势,我们在 CentOS 上使用 yum 就能够在线安装 Redis。之所以要介绍使用 Docker 进行容器化部署 Redis ,主要原因是当前容器化部署是主流,而且能够保障服务器文件系统的整洁。 本篇博客主要介绍如何使用 docke ......
推荐一款Redis可视化工具:ARDM
还是那句话:出众的软件有很多,适合自己的才是最好的。 Another Redis Desktop Manager 🚀🚀🚀 更快、更好、更稳定的Redis桌面(GUI)管理客户端,兼容Windows、Mac、Linux,性能出众,轻松加载海量键值 🇨🇳Windows •可以在github 或 ......
Redis不同版本,内存分配,硬件的性能研究
Redis不同版本,内存分配,硬件的性能研究 前言 Konw more ! Do more ! Gain more ! 骨折之后开始减肥. 前段时间跳绳导致膝盖不舒服,现在改骑车和走路. 在有限的没人有烦的时间里,还是想能够多学习一些东西. 之前了解了 isolcpus 现在突然想内存分配可能也有性 ......
【转载】Springboot2.x 事务
参考 https://blog.csdn.net/MinggeQingchun/article/details/119579941 https://www.cnblogs.com/myitnews/p/12364455.html https://blog.csdn.net/dndndnnffj/ar ......
golang封装命令做pipe管道
package main import ( "fmt" "io" "os/exec" ) func main() { fmt.Println("vim-go") // pipeReader, pipeWriter := io.Pipe() binPath := "../03-ncpk-nvm/nvm ......
Redis集群
集群 由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集 的一部分,这就是Redis的集群,其作用是提供在多个Redis节点间共享数据的程序集。 Redis集群是一个提供在多个Redis节点间共享数据的数据集 Redis集群可以支 ......
Docker部署Redis
1、拉取redis镜像 docker pull redis 2、创建redis配置文件 mkdir -p /mydata/redis/conf touch /mydata/redis/conf/redis.conf 3、启动redis镜像 docker run -p 6379:6379 --name ......
Redis集群
1.描述 集群,即是Redis Cluster。其由多个redis节点组成,redis数据保存在这些节点中。这些节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护,从节点只负责主节点数据和状态的复制。 2.作用 数据分区:redis集群是将数据分散存到多个节点中的。具体存到哪个节点是根绝 ......
Redis基础命令操作
一、基础命令 1.ping(心跳检查) ping //输入ping 命令,看到PONG响应,说明客户端与Redis的连接正常。 2.get/set(读写键值) set name xiaoHong //set key value 会将指定 key-value写入到DB。 get name //get ......
docker部署redis主从集群
1、创建数据目录(logs目录要给权限,要不然会报错) mkdir -pv /data/redis/(data,logs} chmod 777 /data/redis/logs 2、redis.conf 配置文件 -—-主从配置 master 节点配置 cd /data/redis vim redi ......
Redis相关漏洞
默认端口:6379 Redis是一套开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值存储数据库,并提供多种语言的API。Redis如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。 RCE-CVE-2022- ......
Redis分布式锁的扩展方法
分布式锁代码 #region 秒杀业务测试 private static readonly string redisConnectionStr = "127.0.0.1:6379,connectTimeout=5000,allowAdmin=false,defaultDatabase=1"; /// ......
redis
redis对字符串的常用命令 set 设置 get 获取 del 删除 mset mget设置获取多个key/val incr incrby decr decrby 加/减 setnx msetnx 设置新的key/val key必须是原来不存在的 setex 对一个key设置有效时间 和val a ......
Helm Chart 部署 Redis 的完美指南
目录一、Helm介绍二、安装Helm三、配置Helm的repository四、部署chart(以部署redis为例)1. 搜索chart2. 拉取chart3. 修改values.yaml的一些配置(简单演示一下基本的配置)4. 启动chart5. 升级和回滚a. 升级b. 回滚 一、Helm介绍 ......
redis未授权
redis未授权 搭建环境 ubuntu安装并启动redis服务 wget http://download.redis.io/releases/redis-3.2.11.tar.gz#下载压缩包 tar xzf redis-3.2.11.tar.gz#解压 cd redis-3.2.11#进入目录 ......
Java-Redis是如何保证高可用的?
Java-Redis是如何保证高可用的? 高性能 基于内存的存储 Redis是基于内存的存储系统,所有数据都保存在内存中,这使得Redis可以快速读取和写入数据。与传统的基于磁盘存储的系统相比,Redis的读写性能更高。 单线程的设计 是单线程的设计,所有的读写请求都由同一个线程处理,避免了多 ......
关于自己平台事务回滚而第三方平台不能回滚的处理问题
有这么一个场景,我们平台创建了一个活动,需要发布,发布的时候需要去调用第三方的活动增加接口,才能把我们的活动信息保存到第三方那边,但是在调用活动增加接口之前还需要创建一个活动组接口,也是调用第三方的活动组创建接口,正常流程是第一步活动组创建接口,第二步将活动组id封装到活动信息里面,然后调用活动增加 ......
JavaWeb - Day08 - MySQL - 多表查询、事务、索引 - Mybatis - 入门
01. MySQL-多表查询-概述 数据准备 #建议:创建新的数据库 create database db04; use db04; -- 部门表 create table tb_dept ( id int unsigned primary key auto_increment comment '主 ......
如何让@Transactional注解方法被无注解的方法调用时使事务生效
Java-如何让@Transactional注解方法被无注解的方法调用时使事务生效 问题 在springboot项目中,同一个类中,无@Transaction注解的方法调用另一个有@Transaction注解的方法,该如何让事务生效? 解法 import org.springframework. ......
创建一个Redis集群的启动命令并启动
第一步:进入到存放集群的目录里 cd /opt/cluster 如下图[红线圈中的目录]: 第二步:在此目录创建sh文件[示例为start.sh],并打开编辑 vim start.sh 第三步: 在文件中,写入要执行的所有Redis端口命令 `redis-server /opt/cluster/60 ......