E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Redis-
面试-
Redis-
缓存穿透
问:什么是缓存穿透?怎么解决?答:缓存穿透就是指查询一个不存在的数据,那么该请求必然会打到数据库。数据库查询不数据因此不会写入缓存,所以会导致每次请求都进入数据库,从而给数据库带来较大的压力导致数据库挂掉。解决方案的话,我们通常都会用(缓存空对象/布隆过滤器)来解决它问:好的,你能介绍一下吗?答,可以的,...缓存空对象缓存空对象就是指当查询一个不存在的数据时,Redis任然缓存一个空数据,当下次
sgmwgntw
·
2023-10-22 21:54
缓存
面试
redis
面试-
Redis-
缓存击穿
问:什么是缓存击穿?怎么解决?答:缓存击穿的意思是对于设置时间过期的key,当key过期时,恰好有大量对这个key的请求发送过来,此时这些请求发现这个key过期,就会打到数据库加载数据并设置缓存,这个时候这些大量的并发请求可能就会在瞬间压倒数据库。常见的解决方案有两种:一是使用互斥锁,二是可以设置当前key逻辑过期。互斥锁互斥锁大概思路如下:当发现某个key过期时,不立即更新。先使用Redis中的
sgmwgntw
·
2023-10-22 21:54
缓存
面试
redis
面试-
Redis-
缓存雪崩
问:什么是缓存雪崩?答:缓存过期是指设置缓存时都采用了同一过期时间,导致缓存在莫一时刻同时失效,从而请求全部全部打到数据库中,导致数据库压力过大而挂机。它与缓存击穿的区别是:缓存击穿是一个key,而缓存雪崩是很多key问:怎么解决?答:解决方法主要是设置不同时间的TTL,比如可以在原有的过期时间的基础上设置随机的过期时间。比如可以设置在1--10分钟,这样每个缓存的过期重复率就会大大降低,就能减少
sgmwgntw
·
2023-10-22 21:47
redis
面试
缓存
Redis-
复制
Redis的复制(replication)是一种使用和配置起来非常简单的主从(master-slave)复制,允许Redis从服务器成为主服务器的精确副本。以下是关于Redis复制的一些重要方面:Redis采用异步复制。从Redis2.8开始,从服务器会周期性地报告从复制流中处理的数据量。一个主服务器可以拥有多个从服务器。从服务器可以接受其他从服务器的连接。除了连接多个从服务器到同一个主服务器,从
weixin_30642029
·
2023-10-21 18:38
数据库
运维
Redis-
第七节:集群
Redis-
第七节:集群Redis数据分区思考:主从复制是通过将master上的数据全量的复制到一个或多个节点上,这是一种通过数据冗余的形式来保证数据的安全性,但是当主节点发生故障时需要从它的从节点中选出一个作为新的主节点
心之所往、
·
2023-10-21 18:06
缓存
Redis
Redis-
主从复制理论
文章目录1、图解redisreplication基本原理2、redisreplication的核心机制3、master持久化对于主从架构的安全保障的意义1、主从架构的核心原理2、主从复制的断点续传3、无磁盘化复制4、过期key处理复制流程1、复制的完整流程2、数据同步相关的核心机制3、全量复制4、增量复制5、heartbeat6、异步复制1、图解redisreplication基本原理2、redi
「已注销」
·
2023-10-21 18:04
分布式
Redis篇
一、缓存穿透二、缓存击穿三、缓存雪崩四、双写一致性五、数据的持久化六、Redis的数据过期策略七、数据淘汰策略八、
redis-
分布式锁-使用场景九、分布式锁实现原理十、主从复制,和主从同步流程十一、哨兵模式
月星过亿
·
2023-10-21 11:31
redis
数据库
缓存
thinkphp5操作redis列表
lrange获得指定范围的值(0-1代表所有值)lindex获取指定值(下标0开始)lpop删除第一个值兵返回被删除的值ltrim截取列表好了,现在开始tp中操作publicfunctionredis(){$
redis
Seaiio
·
2023-10-16 20:31
thinkphp
redis
list
thinkphp5
Redis-Cli 运行lua脚本
]if(redis.call('get',key)==value)thenreturnredis.call('del',key)end如果在redis-cli中是无法打开这个文件的所以应该命令行中运行
redis
苗先生的PHP记录
·
2023-10-16 12:17
php
Redis
php
redis
lua
环境部署-
Redis-
在Linux上-Windows使用xshell连接Linux(2021最新-超详细)
下载相关文件:走官方网站:https://redis.io/下载最新稳定版:xshell连接Linux本教程连接的是Linux虚拟机,有人说那么直接在本地虚拟机上运行不就行了,的确,但是xshell方法也试用于连接远程服务器(Linux)我们先来说说,这样做的好处:1,虚拟机太笨重了,切换太麻烦(如果你是高配电脑当我没说)2,Xshell连接Linux确定IP地址就可以,这里的使用虚拟机,比普通连
菜鸟老文
·
2023-10-15 10:39
中间件
Web
redis
linux
windows
Redis-linux环境安装
redis-
指定端口启动服务
启动redis:[root@localhostsrc]#redis-server--port6380客户端连接:[root@localhostsrc]#redis-cli-p6380
Shaw_Young
·
2023-10-14 23:08
Redis-
持久化
Redis-
持久化一、RDB持久化为了解决服务器进程退出导致数据丢失,Redis提过了RDB持久化功能,可以将Redis在内存中的数据保存到磁盘中,避免数据意外丢失。
稻壳_be03
·
2023-10-14 23:59
Redis-
安装配置
Redis-
安装配置(CentOS7)目录
Redis-
安装配置(CentOS7)一、Redis简介二、Redis安装1.准备工作1.1切换为国内源1.2gcc安装1.3下载redis52.解压3.编译安装
枫叶丿落白
·
2023-10-14 18:02
Linux
linux
centos
c++ 操作redis实例
1、下载redis-3.0源码,编译出
redis-
*.exe文件,以及一个lib文件双击启动redis-server.exe,这是redis缓存池就建立起来了2、使用hiredis作为基础,封装部分的方法
春蕾夏荷_728297725
·
2023-10-14 17:33
c++
MFC
redis
Redis-
简单动态字符串(SDS)
文章目录文章概要SDS数据结构定义SDS和C字符串的区别总结参考文章概要本篇文章,我们来学习Redis字符串的编码格式SDS编码,文章将将从以下几个方面介绍SDS:SDS的底层数据结构定义Redis是C写的,那SDS和C中的字符串的区别是什么SDS数据结构定义//redis/deps/sds.h/*Note:sdshdr5isneverused,wejustaccesstheflagsbytedi
print HelloWorld
·
2023-10-14 09:24
Redis
redis
数据库
day55 数据库安全&Redis&Hadoop&Mysql&未授权访问&RCE
#知识点:1、服务攻防-数据库类型安全2、Redis&Hadoop&Mysql安全3、Mysql-CVE-2012-2122漏洞4、Hadoop-配置不当未授权三重奏&RCE漏洞3、
Redis-
配置不当未授权三重奏
匿名用户0x3c
·
2023-10-14 04:29
小迪网安笔记
安全
数据库安全-Redis&Hadoop&Mysql&未授权访问&RCE
目录数据库安全-&Redis&Hadoop&Mysql&未授权访问&RCE定义漏洞复现Mysql-CVE-2012-2122漏洞Hadoop-配置不当未授权三重奏&RCE漏洞
Redis-
未授权访问-Webshell
rumilc
·
2023-10-14 04:58
Web安全
漏洞复现
redis
hadoop
mysql
web安全
网络安全
Redis-
第二章API使用
一全局命令:1查看所有键keys* 2键总数dbsizedbsize计算键数时不会遍历所有键,而是直接获取redis内置的键总数变量,所以时间复杂度是O(1),而keys命令会遍历所有键,时间复杂度为O(n),当redis保存了大量键时,线上环境禁止使用。3检查键是否存在existskey存在返回1,否则04删除键delkey[key....]del是通用的命令,可以删除任何数据结构类型,成功删
24koby
·
2023-10-13 22:03
Redis
Redis-
数据类型(基本指令、String、List、Set、Hash、ZSet、BitMaps、HyperLogLog、GeoSpatial)/发布和订阅
目录一、基本指令二、字符串(String)2.1介绍2.2常用命令三、列表(List)3.1介绍3.2常用命令四、集合(Set)4.1介绍4.2常用命令五、哈希(Hash)5.1介绍5.2常用命令六、有序集合Zset(sortedset)6.1介绍6.2常用命令七、Bitmaps八、HyperLogLog九、Geospatial十、发布和订阅一、基本指令dbsize查看当前数据库的key的数量fl
UndefinedException
·
2023-10-12 17:45
Redis
redis
list
数据库
Redis-
集群
Redis-
集群主从复制和哨兵只能在主节点进行写数据,从节点读取数据,因此本质上,是进行了读写的分离,每个节点都保存了所有的数据,并不能实现一个很好的分布式效果。
南 栀
·
2023-10-12 05:47
redis
redis
数据库
缓存
redis-
参数配置
单位1k=1000bytes1kb=1024bytes1m=1000000bytes1mb=10241024bytes1g=1000000000bytes1gb=10241024*1024bytes大小写不敏感,1GB1Gb1b是相同的。包含包含文件可以包含其他文件。include选项不能被“configrewrite”命令重写。因为最后一个配置文件的配置胜出,所以最好把包含文件放在开头,避免被重
ssehs
·
2023-10-11 20:21
服务器
redis
linux离线源码安装Redis
下载redis压缩包压缩包上传到/usr/local/redis目录解压tar-zxvfredis-6.0.0.tar.gz-C/usr/local/redis切换到/usr/local/redis/
redis
小熊学Java
·
2023-10-10 19:53
安装教程
redis
linux
数据库
Redis——Java中使用Jedis操作Redis
目录1、Java中使用Jedis操作
Redis-
项目中常采用1.1项目结构1.2RedisUtils.java类1.3JRedisTest.java类1.4操作结果(1)控制台输出:(2)Redis服务器输出
风暴计划
·
2023-10-10 03:51
MySQL+Redis基础知识
redis
java
jedis
Redis工具类
Jedis连接池
内存数据库
Redis-
第一章 Redis概述
内存数据库Redis7第1章Redis概述1.1Redis简介Redis,RemoteDictionaryServer,远程字典服务,由意大利人SalvatoreSanfilippo(又名Antirez)开发,是一个使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、NoSQL开源内存数据库,其提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2
G189D
·
2023-10-08 09:10
Redis
数据库
redis
nosql
Redis-
分布式锁
分布式锁相关内容超卖问题切入可以使用互斥锁给先获取到锁的线程加锁吗?使用redis分布式锁解决超卖问题setnx命令实现分布式锁为什么需要设置过期时间?Redis实现分布式锁如何合理控制锁的有效时长redisson实现分布式锁超卖问题切入我们先来看一个项目中的真实的场景:抢卷的场景咋一看流程好像特别正常,但是但是这是一个抢卷的过程,疯狂程度可想而知,并且线程又是交替进行的,可能在线程1刚查询到库存
ailigei
·
2023-10-07 07:42
Redis
redis
分布式
wpf
Redis-
数据过期策略
数据过期策略惰性删除策略优点:对cpu比较友好,在用到该key的时候才去进行判断,对于很多用不到key不用浪费时间去检查是否过期缺点:对内存不友好,如果一个key过期了,但是我们又一直没有用到该key,那么它就会一直存在内存中,占用的内存得不到释放定期删除策略优点:可以通过限制删除操作执行的时长和频率来减少删除操作对cpu的影响,也能有效的释放过期键解放一些内存缺点:难以确定删除操作执行的时长和频
ailigei
·
2023-10-06 06:39
Redis
redis
数据库
缓存
Redis-
持久化机制
持久化机制介绍RDBAOFRDB和AOF对比RDBrdb的话是利用了写时复制技术,他是看时间间隔内key值的变化量,就比如20秒内如果有5个key改变过的话他就会创建一个fork子进程(bgsave),通过这个子进程,将数据快照进入一个临时文件,完成之后再将临时文件去覆盖dump.rdb文件主要流程如下:AOFAOF:Redis默认不开启。它的出现是为了弥补RDB的不足(数据的不一致性),所以它采
ailigei
·
2023-10-06 06:39
Redis
redis
数据库
缓存
Redis-
双写一致性
双写一致性双写一致性解决方案延迟双删(有脏数据的风险)分布式锁(强一致性,性能比较低)异步通知(保证数据的最终一致性,高并发情况下会出现短暂的不一致情况)双写一致性当修改了数据库的数据也要同时更新缓存的数据,缓存和数据库的数据要保持一致解决方案延迟双删(有脏数据的风险)延迟双删很多人应该也知道这个方案,具体的步骤呢就是先删除缓存然后修改数据库延迟一段时间再去一次删除缓存先删除缓存还是先删除数据库?
ailigei
·
2023-10-05 14:45
Redis
redis
数据库
缓存
后端面经学习自测(一)
-死锁产生手写死锁死锁排查5、操作系统-避免死锁死锁的四个必要条件预防死锁6、操作系统-pageCache是什么零拷贝7、计算机网络-TCP的可靠性和顺序性怎么实现8、计算机网络-怎么进行流量控制9、
Redis
倩mys
·
2023-10-05 05:06
后端面经
java
Redis-
缓存穿透,缓存击穿,缓存雪崩
缓存穿透,缓存击穿,缓存雪崩缓存穿透处理方案解决方案1缓存空数据解决方案2布隆过滤器缓存击穿处理方案解决方案1互斥锁解决方案2逻辑过期缓存雪崩处理方案解决方案1给不同的key的过期时间设置添加一个随机值,降低同一个时段大量key同时过期的概率解决方案2如果redis服务宕机,可以利用redis一些高可用的方案比如哨兵模式,集群模式解决方案3给缓存业务添加降级限流策略可以利用ngxin或者getwa
ailigei
·
2023-10-05 04:21
Redis
缓存
redis
oracle
Redis-
压缩表-__ziplistInsert详解
/*将长度为slen的字符串s插入到压缩表zl的位置p处*/staticunsignedchar*__zipListInsert(unsignedchar*zl,unsignedchar*p,unsignedchar*s,unsignedintslen){size_tcurlen=intrev32ifbe(ZIPLIST_BYTES(zl)),reqlen,prevlen=0;size_toffs
_HelloBug
·
2023-10-04 11:52
【Redis】
redis
压缩表
插入操作
redis-
五种数据类型入门到实例精通
初始-redis特点:速度快数据存在内存中。C语言实现,“距离”操作系统越近执行速度越快。单线程,预防了多线程可能产生的竞争问题。Redis源代码精打细磨。键值对的数据结构存储五中键值对的形式,许多的应用场景,提高开发效率。功能多键过期发布订阅lua脚本事务功能流水线简单稳定源码少单线程不需要依赖操作系统的类库,自己实现了事件处理的先关功能。稳定到几乎没有宕机的情况。客户端语言多提供了TCP通信协
TTcccCarrie
·
2023-10-03 02:04
架构
分布式
Redis-
简单动态字符串SDS
简单动态字符串文章目录简单动态字符串2.1SDS的定义2.2SDS与C字符串的区别2.2.1常数复杂度获取字符串长度2.2.2杜绝缓冲区溢出2.2.3减少修改字符串时带来的内存重分配次数2.2.4二进制安全2.2.5兼容部分C字符串函数2.2.6总结2.3SDSAPI2.4重点回顾Redis自己构建了一种名为简单动态字符串(simpledynamicstring,SDS)的抽象类型,并将SDS用作
奇迹静静~
·
2023-10-02 21:30
Redis
redis
数据库
缓存
NoSQL之Redis配置搭建部署与优化
NoSQL之Redis配置搭建部署与优化Redis概念Redis具有的优点缓存概念系统缓存buffer与cache:缓存保存位置及分层结构DNS缓存应用层缓存数据层缓存硬件缓存
Redis-
关系型数据库和
搬着砖,敲着代码
·
2023-10-02 20:59
redis
nosql
数据库
Redis-
命令操作
目录一、Redis简介二、Redis安装1.解压redis2.安装gcc3、编译redis4、修改redis.conf文件5、启动redis①②./redis-server../redis.conf6、测试redis启动是否成功7、修改为有密码连接8、客户端redis-cli链接redis三、redis命令1、Redis字符串(String)①设值②删除值③修改值④拿值⑤ttl2、Redis哈希(
星星铺满海面
·
2023-09-30 08:21
1024程序员节
redis-
设置从节点
节点结构节点配置文件主节点不变6380节点port6380slaveof127.0.0.163796381节点port6381slaveof127.0.0.16380启动指定配置文件的方式启动D:\jiqun\redis\Redis-6380>redis-server.exeredis.windows.conf启动时,会触发同步数据命令主节点:从节点slaveof命令触发的同步数据流程连接redi
draymond7107
·
2023-09-30 08:38
redis
redis
Windows系统中安装并启动Redis
Windows系统中安装并启动Redis【
Redis-
百度百科】:Redis(RemoteDictionaryServer),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型
丶清杉
·
2023-09-30 04:21
redis
redis
Redis-
基础知识
1、数据类型(1)基本数据类型StringHashListsetsorted_set(2)String常见操作单数据操作与多数据操作:多数据操作时mset理论上优于get,但因Redis是单线程,在多数据操作数据量极大的情况下,建议对数据进行拆分操作,避免线程阻塞;String作为数据值操作string在Redis中是作为字符串,当遇到增减类操作时会转换为数值型进行计算;Redis所有的操作都是原
傻子般白痴
·
2023-09-29 12:58
CentOS 7 安装 Redis 7
.tar.gz解压后进入redis目录执行安装:cd/usr/local/redis/redis-7.0.13make进入src目录并执行makeinstall:cd/usr/local/redis/
redis
冰阔落好喝Wow
·
2023-09-28 13:49
centos
redis
linux
85、Redis连接相关的命令, key相关命令
6.0.14\binE:\install\Redis6.0\Redis-x64-6.0.14\bin>redis-server.exeredis.windows.conf启动redis客户端:小黑窗:
redis
金刚猿
·
2023-09-27 08:47
springboot
redis
数据库
缓存
php监听redis哨兵模式
网上有一种公共的方法,就是下载php-redis扩展,然后使用$
redis-
>rawCommand('SENTINEL','mast
观海听潮博客
·
2023-09-27 06:36
Ubuntu安装RedisDesktopManager工具连接
redis-
看了必会
最近学习redis数据库需要安装RedisDesktopManager工具,于是我就开始了各种踩坑!!下面就给大家带来我踩坑之后整理出来的安装过程和大家分享:下载安装包:首先我们需要下载对应ubuntu版本的RedisDesktopManager安装包:我使用的是ubuntu16.04版本分享给大家:百度云下载地址:链接:https://pan.baidu.com/s/15x53ORGu70ECQ
冯小猿
·
2023-09-25 04:35
数据库
ubuntu
redis
数据库
redis-
客户端
对于每个与服务器进行连接的客户端,服务器都为其建立了相对应的redis.h/redisClient结构(客户端状态),这个结构保存了客户端当前的状态信息,以及执行相关功能时需要用到的数据结构。redis服务器状态结构的clients属性是一个链表,这个链表保存了所有与服务器连接的客户端的状态结构。客户端的一些属性客户端的一些属性,都保存在redisClient结构里面。fd(intfd):fd属性
黑金星
·
2023-09-25 03:44
用php&&redis发布订阅模式实现批量发送短信
发布者-将短信任务发布到Redis频道:$redis=newRedis();$
redis-
>co
小关@
·
2023-09-22 22:17
php
redis
开发语言
Linux学习-Redis主从和哨兵
redis.confbind192.168.88.61#设置服务使用的Ip地址port6379#设置服务使用的端口号使用默认端口即可[root@host61~]#systemctlstartredis[root@host61~]#
redis
丢爸
·
2023-09-21 13:47
redis
Linux
linux
学习
redis
redis-
六种数据结构
六种数据结构简单动态字符串,链表,字典,跳跃表,整数集合,压缩列表1.简单动态字符串redis使用了一种名为简单动态字符串(Simpledynamicstring,SDS)的抽象类型来当做默认字符串表示。1.1SDS的定义structsdshdr{//记录buf数组中已使用字节的数量//等于SDS所保存的字符串长度intlen;//记录buf数组中未使用字节的数量intfree;//字节数组,用于
黑金星
·
2023-09-21 09:45
redis-
操作带过期时间的key需保证操作的原子性
问题:先执行get获取值,判断符合条件再执行incr、decr操作。在临界缓存失效的情况下,会默认赋值当前key为永不过期的0,再执行加减法,导致程序异常。推荐解决方案:1、限制接口频率:先incr,执行后值为1,说明是第一次执行,需要额外设置过期时间,再判断是否超过当前接口频率限制(注意上述步骤不可调换顺序)2、使用lua脚本完整提交一次操作,脚本中的key可以保证一致。以加减库存为例,先查询k
封闭火车
·
2023-09-20 06:30
#
Redis
Java
java
redis
easyswoole如何实现Redis队列消费/自定义进程
this->isRun){$this->isRun=true;$redis=new\redis();//此处为伪代码,请自己建立连接或者维护redis连接while(true){try{$task=$
redis
我爱张智容
·
2023-09-19 10:36
Redis 集合(Set)快速指南 | Navicat
本文将介绍一些用于管理集合(Set)的主要命令,以及在
redis-
Navicat中国
·
2023-09-18 19:29
Navicat
技术智库
redis
java
数据库
缓存
navicat
Redis-
设置密码linux服务器
操作步骤打开Redis的配置文件,通常位于/etc/redis/redis.conf。在配置文件中找到#requirepass或requirepass的行,如果存在的话,取消行首的注释符号#。将密码设置为你想要的值,例如requirepassYourPassword。确保将YourPassword替换为你自己设定的密码。保存并关闭配置文件。重启Redis服务,以使密码配置生效。宝塔:
@幻影忍者
·
2023-09-18 11:11
redis
服务器
redis
linux
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他