Redis对键提供生存时间,在不指定生存时间时,生存时间是永久。时间到期后Redis会自动删除这个键。可以用EXPIRE命令,时间单位时秒,如果一个键是被设为有限的生存时间,那么在SET key进行重新赋值的时候会被再次设为永久:SET session:captcha sd2a EXPIRE session:captcha 600取消生存时间,将键的生存时间设为永久,是PERSIST:PERSIST session:captcha查看一个键的生存时间用TTL命令,-1表示永久或者以及到期被删除。TTL session:captcha在Redis的INCR,LPUSH,HSET,ZREM等命令时不会改变生存时间的。 想要精确到毫米来控制时间,就需要PEXPIRE即可,使用PTTL查看剩余时间。 如果想要给定一个到期的时间而不是多少秒后到期呢?就需要EXPIREAT和PEXPIREAT。EXPIREAT的参数是到期时的时间戳(秒),PEXPIREAT的参数是到期时间是时间戳(毫秒)SET session:captcha sd2a EXPIREAT session:captcha 1399902009 PEXPIREAT session:captcha 1399902009000应用场景一:访问频率限制:我们限定每个用户1分钟只能浏览10个页面。伪代码如下:$isExists = EXISTS limit:user1:192.168.1.2 if($isExists){ $num = INCR limit:user1:192.168.1.2 if($num > 10){ print '超过限制' exit } }else{ MULTI INCR limit:user1:192.168.1.2 EXPIRE limit:user1:192.168.1.2 60 EXEC }我们用了事务的原因是因为,加入在执行了INCR limit:user1:192.168.1.2之后,在执行EXPIRE limit:user1:192.168.1.2 60之前,客户端被关闭了。那么这个键和值就会被持久化保存。且该ID终身只能访问10次了。这就太糟糕了。 应用场景二:实现缓存。计算一万名用户的排行榜,是很耗费资源的,那么我们把数据在第一次计算后存进一个key,然后对这个key设置生存时间。在1个小时后生存时间到期,key被删除,再次进行计算新排名并保存的一个临时key。我们用伪代码实现://战斗排行榜 $rank = GET cache:rank:fight if not $rank $rank = 计算排名() MULTI SET cache:rank:fight $rank EXPIRE cache:rank:fight 3600 EXECRedis是内存存储的数据库,假如内存被缓存占满了,Redis会根据配置文件来删除一定的缓存。配置项是Redis的配置文件中的maxmemory参数,单位是字节。超过这个限制之后,会根据配置文件的maxmemory-policy参数来删除不需要的键。maxmemory-policy的可选规则是如下四种: 1、volatile-lru:使用LRU算法删除一个键(设置了生存时间的键)。 2、allkey-lru:使用LRU算法删除一个键。 3、volatile-random:随即删除一个键(设置了生存时间的键)。 4、allkey-random:随即删除一个键。 5、volatile-ttl:删除生存时间即将过期的一个键。是随即取出来N个键,然后删除N个键中即将过期的键,而不是遍历所有的键删除即将过期的。N是几?配置文件配的。 6、nevication:不删除,返回错误。
XsnTJ On Medication information sheet. ...
RojHZ On Medicine prescribing informati...
WlaEY On Drugs information for patients...
where to buy cialis online forum On Levitra Prezzo Farmacia gampH...
buy cialis online On Buy Viagra Online In Ireland ...
Reply: RojHZ On 2021-01-10 20:30:16
Medicine prescribing information. What side effects? <a href="https://prednisone4u.top">buy cheap prednisone for sale</a> in US. Everything information about medicines. Read information here. <a href=https://mlpp.org/21-day-forum/topic/actual-information-about-drugs/#postid-6717>Actual information about drugs.</a> <a href=https://quizzma.com/cell-transport-quiz-2/#comment-21280>Everything what you want to know about meds.</a> <a href=https://globalmarketers.co.in/updates-and-feature-for-instagram-in-2019/#comment-8743>Actual information about pills.</a> dc29a2c
回复