解决linux下redis数据库overcommit_memory问题

背景公司的redis有时background save db不成功,通过log发现下面的告警,很可能由它引起的:[13223] 17 Mar 13:18:02.207 # WARNING overcommit_memory is set to 0! Background...

2022-08-08

Windows系统安装redis数据库

一、Redis简介Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和h...

2022-08-08

Quarkus集成redis操作Redisson实现数据互通

目录前言集成redis复制Redisson序列化使用前言博主所在公司大量使用了redis缓存,redis客户端用的Redisson。在Quarkus集成redis时,博主尝试使用Redisson客户端直接集成,发现,在j...

2022-08-08

redis用list做消息队列的实现示例

目录生产消息服务消费消息服务,定时任务日志测试leftPush消息入队,rightPop对应,消息出队。rightPop(RedisConstant.MQ_LIST, 0L, TimeUnit.SECONDS)阻塞出队,0表示永久阻塞生产...

2022-08-08

Redis exists命令bug分析(案例详解)

目录1、复现条件版本:2、源码分析3、问题解决本文基于社区版Redis 4.0.81、复现条件版本:社区版Redis 4.0.10以下版本使用场景:开启读写分离的主从架构或者集群架构(master只负...

2022-08-08

基于Redis zSet实现滑动窗口对短信进行防刷限流的问题

前言  主要针对目前线上短信被脚本恶意盗刷的情况,用Redis实现滑动窗口限流public void checkCurrentWindowValue(String telNum) { String windowKey = Co...

2022-08-08

Redis命令处理过程源码解析

本文基于社区版Redis 4.0.81、命令解析Redis服务器接收到的命令请求首先存储在客户端对象的querybuf输入缓冲区,然后解析命令请求的各个参数,并存储在客户端对象的argv和argc...

2022-08-08

SpringBoot集成redis错误问题及解决方法

目录一、错误信息 二、软件版本三、基本信息五、其他信息描述:SpingBoot 集成Reids (本机连接虚拟机Redis服务)出现错误 哇咔咔 当你距离成功只有一步的时候 论那个时候的心...

2022-08-08

浅谈Redis哨兵模式高可用解决方案

目录一、序言1、目标与收获2、端口规划二、单机模拟(一)服务规划1、Redis实例2、哨兵服务(二)服务配置1、Redis实例2、哨兵服务(三)服务管理1、Redis实例2、哨兵服务三、客户端整...

2022-08-08

Redis 使用 List 实现消息队列的优缺点

目录什么是消息队列消息队列满足哪些特性消息有序性重复消息处理可靠性List 实现消息队列LPUSHRPOP实时消费问题重复消费消息可靠性需要注意的是Redission 实战添加依赖Java...

2022-08-08

Redis Server启动过程的详细步骤

目录1、 初始化参数配置2、 加载并解析配置文件3、 初始化服务器内部变量4、执行事件驱动框架本文基于社区版Redis 4.0.81、 初始化参数配置由函数initServerConfig()实现,具...

2022-08-08

详解Redis 键和字符串常用命令

目录Redis 相关知识Redis中的数据类型redis 键(key)Redis字符串(String)常用命令String的数据结构Redis 相关知识Redis的默认端口号为6379默认16个数据库,类似数组下标从0开始,...

2022-08-08

Redis+Lua脚本实现计数器接口防刷功能(升级版)

目录【前言】【实现过程】一、问题分析二、解决方案三、代码改造【总结】【前言】Cash Loan(一):Redis实现计数器防刷 中介绍了项目中应用redis来做计数器的实现过程,最近自己...

2022-08-08

解决redis在linux上的部署的问题

1.在官网下载Linux版本redis2.拷贝到linux服务器上,解压到指定目录3.解压后得到redis文件夹-----移动到自己知道的文件位置4.注:redis是c语言编写,需要依托c语言环境yum instal...

2022-08-08

解决Redis启动警告问题

如果启动前不对linux内核做任何更改,那么redis启动会报出警告,共三个:如下图所示第一个警告:The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/s...

2022-08-08

浅谈Redis跟MySQL的双写问题解决方案

目录写在前面三种读写缓存策略Cache-AsidePattern(旁路缓存模式)Read-Through/Write-Through(读写穿透)WriteBehindPattern(异步缓存写入)旁路缓存模式解析CacheAsidePattern的一...

2022-08-08

Redis数据库分布式设计方案介绍

目录1 哈希取余分区2 一致性哈希算法分区2.1 一致性哈希环2.2 节点映射2.3 落键规则 2.4 优缺点3 哈希槽计算总结问题:1-2亿数据需要缓存,如何设计?1 哈希取余分区2亿条记录就...

2022-08-08

Spring+Redis+RabbitMQ开发限流和秒杀项目功能

目录一、项目概述二、基于Redis的Lua脚本分析Lua脚本的特性在Redis中引入Lua脚本Lua脚本的返回值和参数分支语句三、实现限流和秒杀功能创建项目并编写配置文件编写启动类和...

2022-08-08

Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题

目录前言架构设计代码实现测试总结前言最近在做阅读类的业务,需要记录用户的PV,UV;项目状况:前期尝试业务阶段;特点:快速实现(不需要做太重,满足初期推广运营即可)快速投入市场去运营...

2022-08-08

Redis哨兵模式介绍

哨兵简介主机"宕机"将宕机的 master 下线找一个 slave 作为 master通知所有的 slave 连接新的 master启动新的 master 和 slave全量复制 *N+ 部分复制*N存在的问题:谁来确认...

2022-08-08

Redis 整数集合的具体使用(intset)

目录一、集合概述二、Redis 整数集合(intset)1、intset 结构定义2、编码方式3、编码升级三、整数集合常用操作1、创建集合2、元素设置3、元素获取 4、元素查找5、内存重分配6...

2022-08-08

分布式Redis Cluster集群搭建与Redis基本用法

目录Redis 集群搭建Redis 是啥集群(Cluster)Redis Cluster 说明Redis Cluster 节点Redis Cluster 集群模式不能保证一致性创建和使用 Redis 集群部署三个主节点非 dockerdoc...

2022-08-08

解析Redis未授权访问漏洞复现与利用危害

目录一、漏洞简介以及危害:1.什么是redis未授权访问漏洞:2.漏洞的危害3.漏洞的影响二、漏洞复现:三、未授权访问漏洞测试0x01 利用redis写webshell0x02 利用"公私钥"认证获取ro...

2022-08-08

Redis分布式锁防止缓存击穿的实现

缓存击穿和缓存穿透不同的是,缓存击穿是指:缓存中没有,但是数据库中存在的热点数据。例如:首页的热点新闻,并发访问量非常大的热点数据,如果缓存过期失效,服务器会去查询DB,这时候如...

2022-08-08

利用Redis实现访问次数限流的方法详解

假设我们要做一个业务需求,这个需求就是限制用户的访问频次。比如1分钟内只能访问20次,10分钟内只能访问200次。因为是用户维度的场景,性能肯定是要首先考虑,那么适合这个场景的...

2022-08-08

Redis源码分析之set 和 sorted set 使用

目录set 和 sorted set前言set常见命令set 的使用场景看下源码实现sorted set常见的命令使用场景分析下源码实现总结参考set 和 sorted set前言前面在几个文章聊到了 list,st...

2022-08-08

Redis 操作多个数据库的配置的方法实现

目录前言一、添加pom 依赖二、多数据源的配置和添加到spring容器中三、使用方式结语:前言redis 默认有 0-16 号数据库,一般我们操作redis时,用的是 0号数据库,但是有时我们的项...

2022-08-08

使用Jedis线程池returnResource异常注意事项

目录在线上环境发现了一个工作线程异常终止见如下示例代码以及日志输出分析执行顺序如下所示执行redis的逻辑实际的日志输出为分析:解决方法:补充临时解决方法在线上环境发现...

2022-08-08

基于Redis分布式BitMap的应用分析

目录一、序言二、BitMap结构1、内存消耗分析2、命令行操作BitMap3、客户端操作BitMap4、时间与空间复杂度三、BitMap应用1、回避缓存穿透2、与布隆过滤器的区别四、小结一、...

2022-08-08

redis实现分布式session的解决方案

目录一、首先Session二、分布式Session补充:一、首先SessionSession 是客户端与服务器通讯会话技术, 比如浏览器登陆、记录整个浏览会话信息。session存放在服务器,关闭浏览器...

2022-08-08

Redis中有序集合的内部实现方式的详细介绍

目录有序集合的内部实现以压缩列表作为内部实现以跳跃表作为内部实现内部实现的转换总结面试官:Redis中基本的数据类型有哪些?我:Redis的基本数据类型有:字符串(string)、哈希(hash...

2022-08-08

redis击穿 雪崩 穿透超详细解决方案梳理

Redis击穿redis缓存击穿是指某一个非常热点的key(即在客户端搜索的比较多的关键字)突然失效了,这时从客户端发送的大量的请求在redis里找不到这个key,就会去数据里找,最终导致...

2022-08-08

Redis监控工具RedisInsight安装与使用

目录一、RedisInsight 简介二、RedisInsight 安装与使用1.物理安装2.Kubernetes 安装3.RedisInsight 基本使用一、RedisInsight 简介RedisInsight 是一个直观高效的 Redis G...

2022-08-08

详解redis脚本命令执行问题(redis.call)

1、redis-cli命令行中执行:# 调用redis命令设置缓存# 不传参数eval "return redis.call('set', 'name1', 'Tom')" 0# 传入1个值参数eval "return redis.call('set', 'name2',...

2022-08-08

redis zset实现滑动窗口限流的代码

目录限流redis zset特性滑动窗口算法java代码实现补充:Redis zSet实现滑动窗口对短信进行防刷限流前言示例代码限流需求背景:同一用户1分钟内登录失败次数超过3次,页面添加验证...

2022-08-08

Redis中常见的几种集群部署方案

目录前言几种常用的集群方案主从集群模式全量同步增量同步举个栗子哨兵机制什么是哨兵机制如何保证选主的准确性如何选主选举主节点的规则哨兵进行主节点切换切片集群Redis...

2022-08-08

分布式架构Redis中有哪些数据结构及底层实现原理

目录引言1、面试官:我看你提到,项目中使用了Reids作为缓存,为什么是Reids而不是其他,Redis有什么优势吗?2、面试官:刚刚你提到Redis是单线程,为什么单线程模型的 Redis 性能不减。3...

2022-08-08

Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题

目录使用 Redis 实现消息队列基于List的消息队列分析下源码实现基于 Streams 的消息队列分析下源码实现stream 的结构streamCG 消费者组streamConsumer 消费者结构发布订阅...

2022-08-08

浅谈redis的过期时间设置和过期删除机制

目录一:设置过期时间二:保存过期时间三:移除过期时间四:计算并返回剩余生存时间五:过期键的删除策略六:redis使用的策略一:设置过期时间redis有四种命令可以用于设置键的生存时间和...

2022-08-08

在Centos 8.0中安装Redis服务器的教程详解

目录1.官网下载Linux版安装包2.使用XShell 和Xftp连接Centos:3.默认下,redis相关的安装文件会存储在/usr/local/bin 这个目录下4.前台启动redis服务器5.后台启动Redis服务器...

2022-08-08

解决redis批量删除key值的问题

目录遇到的问题:解决办法:原理解析:补充知识:遇到的问题:在开发过程中,会遇到要批量删除某种规则的key,例如login_logID(ID为变量),现在需要删除"login_log*"这一类的数据,但是redis本...

2022-08-08

redis分布式Jedis类型转换的异常深入研究

目录1 类型转换异常场景多线程环境单线程环境2 Jedis类型转换异常案例2.1 案例介绍2.2 Jedis原理介绍2.3 类型转换异常的原因3 Jedis类型转换异常的解决办法4 问题深思问题1...

2022-08-08

redis部署及各种数据类型使用命令详解

目录编译安装redis开始部署报错 gcc命令没有找到:#解决编译安装所需的依赖环境继续部署redis服务端运行和客户端连接redis配置redis简单配置并启动set、get命令简单配置文件...

2022-08-08

Redis击穿穿透雪崩产生原因分析及解决思路面试

目录1、前言2、问题起因 3、应对击穿的处理思路4、穿透 5、雪崩 结束1、前言大家都知道,计算机的瓶颈之一就是IO,为了解决内存与磁盘速度不匹配的问题,产生了缓存,将一些热点数...

2022-08-08

面试分析分布式架构Redis热点key大Value解决方案

目录引言1、面试官:你在项目中有没有遇到Redis热点数据问题,一般都是什么原因引起的?2、面试官:真实项目中,那热点数据问题你是如何准确定位的呢?3、如何解决热点数据问题4、面试...

2022-08-08

Redis调用Lua脚本及使用场景快速掌握

目录一、阅读本文前置条件二、为什么需要Lua脚本三、学点Lua语法3.1.一个简单的例子3.2.仔细看下Lua脚本里的内容3.3. 复杂点的例子四、Lua脚本预加载五、一个修改 JSON数据...

2022-08-08

redis数据结构之压缩列表

目录压缩列表是列表键和哈希键的底层实现之一。当一个列表键只包含少量列表项,并且每个列表项要么就是小整数,要么就是长度比较短的字符串,redis就会使用压缩列表来做列表键的...

2022-08-08

redis中的bitmap你了解吗

目录1、BitMap是什么2、setbit命令介绍 总结1、BitMap是什么通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身。我们知道8个bit可以组成一个Byte,所...

2022-08-08

Redis对批量数据实现分布式锁的实现代码

目录需求背景代码实现实现效果需求背景在开发的收入结转平台界面上有一个归集按钮,可以实现抓取结转表里面的多条数据进行归集操作。为了防止多人多电脑同时操作一条数据,我们...

2022-08-08

Redis数据类型string和Hash详解

目录String类型命令操作设置指定key的值获取指定key的值返回key中字符串值的子串获取多个给定key的值返回key所对应的字符串的长度设置一个或多个键值对将key中所存储的数值...

2022-08-08
返回顶部
顶部