此篇博客是学习《Redis设计与实现》的学习总结
Redis版本:3.0.6Redis支持对键设置过期时间,过期时间到了之后就会自动删除键。键过期时间相关的命令设置过期时间expire key seconds # 设置键在给定秒后过期
pexpire key milliseconds # 设置键在给定毫秒后过期
expireat key timestamp # 到达指定秒数时间戳之后键过期
p            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-04 10:34:55
                            
                                151阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在Redis中,对于过期key的清理主要有惰性清除,定时清理,内存不够时清理三种方法,下面我们就来具体看看这三种清理方法。(1)惰性清除在访问key时,如果发现key已经过期,那么会将key删除。(2)定时清理Redis配置项hz定义了serverCron任务的执行周期,默认每次清理时间为25ms,每次清理会依次遍历所有DB,从db随机取出20个key,如果过期就删除,如果其中有5个key过期,那            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-07 16:33:11
                            
                                187阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Redis键的生存与过期时间一、设置键生存/过期时间生存时间(Time To Live,TTL):在经过指定的秒数或者毫秒数之后,服务器就会自动删除生存时间为0的键过期时间(expire time):是一个UNIX时间戳,当键的过期时间来临时,服务器就会自动从数据库中删除这个键设置生存时间EXPIRE :用于将键key的生存时间设置为ttl秒PEXPIRE :用于将键key的生存时间设置为ttl毫            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-25 11:12:57
                            
                                100阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ? 作者简介:大学机械本科,野生程序猿,学过C语言,玩过前端,还鼓捣过嵌入式,设计也会一点点,不过如今痴迷于网络爬虫,因此现深耕Python、数据库、seienium、JS逆向、安卓逆向等等,,目前为全职爬虫工程师,学习的过程喜欢记录,目前已经写下15W字电子笔记,因此你看到了下面这篇文章~ 
 ? 技术栈:Python、HTML、CSS、JavaScript、C、Xpath语法、正则、、MySQ            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-01 17:31:53
                            
                                232阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Redis 过期时间设置过期时间(刷新过期时间)expire k1 100
为一个无效的key设置过期时间,那么过期时间也无效移除过期时间(使永不过期)persist k1
为一个无效的key移除过期时间也是徒劳查看过期时间ttl k1
无效key的过期时间为:  -2
永不过期key的过期时间为: -1过期时间精度在 Redis 2.4 及以前版本,过期期时间可能不是十分准确,有0-1秒的误差。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-04 15:49:48
                            
                                867阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            结合源码看Redis过期策略注意事项常用的过期策略1. 定时过期,主动过期为什么redis不采用这个过期策略呢?2. 惰性过期3. 定期过期大致的步骤终止扫描的条件需要注意的是。为什么要上限25毫秒和10%的阈值关于异步删除 注意事项笔者所看的源码是redis稳定版 6.2 版本的常用的过期策略1. 定时过期,主动过期这个策略是需要一个过时器,对每一个key都设计一个定时器。优点:对内存友好,但            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-30 16:53:13
                            
                                38阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            发布一篇 自己关于 redis 失效时间的心得 ,把自己的理解 和心得 给大家的 分享下 长话短说  进入主题  设置失效时间 EXPIREAT1参数   参数  key   时间戳+自己设置时间 2 返回值 如果生存时间设置成功,返回  
 1 
  。 
  当  
 key 不存在或            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-03 17:55:16
                            
                                142阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            我们在单机服务器,出现资源的竞争,一般使用synchronized 就可以解决,但是在分布式的服务器上,synchronized 就无法解决这个问题,这就需要一个分布式事务锁。除此之外面试,基本会问springboot、Redis,然后都会一路再聊到分布式事务、分布式事务锁的实现。1、常见的分布式事务锁1、数据库级别的锁乐观锁,基于加入版本号实现悲观锁,基于数据库的 for update 实现2、            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-23 10:55:27
                            
                                86阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Redis的过期设置,大家基本都用过了。但是里面的坑不知道各位是否了解。先从基础讲起。Redis中的所有数据结构都可以设置超时时间,设置超时有四种做法:EXPIRE 将key的生存时间设置为ttl秒PEXPIRE 将key的生成时间设置为ttl毫秒EXPIREAT 将key的过期时间设置为timestamp所代表的的秒数的时间戳PEXPIREAT 将key的过期时间设置为timestamp所代表的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-11 14:18:53
                            
                                0阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            当前网上可以找到许多基于redis使用java实现的分布式锁的代码,其主要实现方式主要有以下几种:1.      SETNX、GETSET、GET、DEL加锁时,使用SETNX设置锁名和锁的到期时间,若设置成功则获取锁;否则再检查锁是否已过期,是则使用GETSET设置新的到期时间,设置成功则获取到锁,获取到锁后记一下状态;解锁时,若锁已过            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-16 18:41:39
                            
                                844阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 永久不失效的Redis键值对
## 简介
在Redis中,键值对可以设置过期时间(TTL),但是有时候我们希望某些键值对永久保存而不会因为过期而被删除。本文将介绍如何在Redis中实现键值对的永久不失效。
## 实现思路
要实现Redis中键值对的永久不失效,我们可以通过设置键的过期时间为一个较大的值来实现。例如,可以设置过期时间为很长的一个时间段,或者直接设置为-1,表示永不过期。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-22 04:08:10
                            
                                84阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录一、过期时间设置二、Redis过期策略1、被动删除2、主动删除3、内存不足删除一、过期时间设置TTL key : 获取key的过期剩余时间,不存在返回-2  无过期时间返回-1
PTTL key : 同TTL,毫秒
EXPIRE key ttl : 将键的生存时间设为 ttl 秒
PEXPIRE key ttl  :将键的生存时间设为 ttl 毫秒
EXPIREAT key timestamp            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-23 23:26:59
                            
                                196阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1 缓存过期1.1 maxmemorymaxmemory : 默认为0 不限制。问题:超过物理内存后性能急剧下架,甚至崩溃,内存与硬盘交换(swap) 虚拟内存 ,频繁IO 性能急剧下降。当趋近maxmemory时,通过缓存淘汰策略,从内存中删除对象。设置方式:在redis.conf中  maxmemory 1024mb
##获取配置命令
config get maxmemory            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 16:58:04
                            
                                155阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Java实现Redis设置相对失效时间和绝对失效时间
在实际开发中,我们经常会使用Redis作为缓存存储数据,但有时候我们需要设置一些键值对的失效时间,以便在一段时间后自动删除数据。在Redis中,有两种方式可以设置失效时间,即相对失效时间和绝对失效时间。相对失效时间是相对于当前时间的一段时间后自动删除数据,而绝对失效时间是在指定的时间点后自动删除数据。
## 相对失效时间
相对失效时间            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-09 04:41:59
                            
                                98阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Java设置Redis键的失效时间
## 简介
Redis是一种开源的内存数据库,常用于缓存、消息队列和实时数据分析等场景。在使用Redis时,经常需要设置键的失效时间,以控制数据在缓存中的存储时间。本文将介绍如何使用Java设置Redis键的失效时间,并提供相应的代码示例。
## Redis失效时间
Redis提供了设置键的失效时间的功能,可以通过为键设置一个超时时间,使其在一定时间            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-10-13 04:22:28
                            
                                271阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一:什么是缓存穿透?- 定义查询缓存数据都是存在的。查询一条数据库中不存在的数据,也就是缓存和数据库都查询不到这条数据。 所以请求每次都会打到数据库上面去,这种查询不存在数据的现象我们称为缓存穿透。 - 问题恶意请求会直接打到数据库上,会造成数据库的压力过大。影响正常业务,同时可能造成数据库宕机。 - 解决方案    - 缓存空值      - 发生穿透的大部分情况,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-10 12:32:08
                            
                                7阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Java计算Redis失效时间戳
Redis是一种基于内存的高性能键值存储系统,常用于缓存、消息队列等场景。在使用Redis时,有时我们需要为存储的数据设置失效时间,以便在一定时间后自动删除。本文将介绍如何使用Java计算Redis失效时间戳,并提供相应的代码示例。
## Redis失效时间的表示
在Redis中,可以通过设置键值对的失效时间来让Redis自动删除该键值对。失效时间可以通            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-18 04:47:21
                            
                                138阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 实现Java Redis设置失效时间工具
## 引言
在实际开发中,我们经常需要使用Redis来存储数据,并设置数据的失效时间。这个过程可能对一些刚入行的开发者来说比较陌生。本文将详细介绍如何在Java中使用Redis设置失效时间工具,并帮助你快速掌握这一技能。
## 流程概述
下面是设置Redis数据失效时间的整个流程,我们将使用Jedis来操作Redis:
```mermaid
er            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-28 04:12:38
                            
                                29阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Redis 失效时间设置
## 简介
Redis 是一个开源的内存数据存储系统,被广泛用于缓存、会话管理和消息传递等方面。在使用 Redis 进行数据存储时,我们经常需要设置键的失效时间,即在一定时间后自动删除键和对应的值。本文将介绍如何在 Redis 中设置失效时间,并提供代码示例。
## Redis 失效时间设置方法
### EXPIRE 命令
Redis 提供了 `EXPIRE            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-22 04:05:56
                            
                                192阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Redis是一个开源的内存数据存储系统,它支持多种数据结构,其中之一就是列表(List)。列表是一种有序的、可重复的元素集合,它的特点是可以在头部和尾部进行快速的插入和删除操作。在Redis中,可以使用List数据结构来实现队列、栈以及双向队列等功能。
在List中,每个元素都有一个索引,可以通过索引来访问和操作列表中的元素。除了常见的插入和删除操作,Redis还提供了丰富的操作方法,如获取列表            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-23 09:26:11
                            
                                34阅读