草庐IT

Redis key 空间通知过期未触发

我正在查看此页面:https://redis.io/topics/notifications我在我的配置文件中设置了以下行:notify-keyspace-events"Kx"当我这样做时(然后运行我的应用程序,最终使某些key过期),我没有看到任何事件:redis-cli--csvpsubscribe'__keyspace*__:*expire*'但是,当我将我的配置设置为:notify-keyspace-events"Kg"然后运行相同的应用程序和redis-cli命令,我确实看到了事件:"pmessage","__keyspace*__:*expire*","__keyspace

amazon-web-services - 从 rdb 恢复过期 key 重新启动 redis 服务器

我从服务器获得快照rdb文件。在快照时,使用EXPIRE命令存在具有已定义ttl的key。使用key--dbfilenamedump.rdb在本地启动服务器后,所有具有定义的ttl的key都已过期。对我来说,二进制文件中似乎应该有key。如果有帮助:快照是在AWSelasticache环境中创建的。是否可以从备份和恢复key启动服务器? 最佳答案 没有。来自文档(强调我的):KeysexpiringinformationisstoredasabsoluteUnixtimestamps(inmillisecondsincaseofRe

redis - 如何使 Redis 中的 HyperLogLog 过期?

HyperLogLogs占用12KB空间。我在文档中没有看到有关何时释放该存储空间的任何信息。我目前的计划是调用EXPIRE每次我打电话PFADD,但我找不到太多关于过期HLL的讨论,所以我想知道我是否做错了......我计划使用HLL实时计算我网站上的活跃访问者数量。我只想保留过去一小时的计数,释放比这更早的任何内容。 最佳答案 不,您不能使添加到HLL的项目过期。相反,EXPIRE命令将使整个HLL过期。为了实现您的目标,您可以每小时创建一个HLL,并在一段时间后使整个HLL过期。//forthe2019082200PFADDu

redis 有序集查询以过期为条件

我有一个带键Z和值的有序集:1个“一个”4个“b”3"c"此外,我将keya、b、c设置为在不同时间后过期。我想在Z中找到排名最高的值,使得作为键的值已经过期。有没有一种干净的方法可以做到这一点? 最佳答案 这是另一种方法:从Redis2.8开始,您可以订阅键空间或键事件通知,以便您的Redis客户端可以在过期发生时采取一些措施。参见http://redis.io/topics/notifications当您收到过期通知时,向另一个有序集添加一个条目,例如Zexpires。然后,当您需要执行操作时,您可以使用ZINTERSTORE找

node.js - 从Redis获取key同时过期

我有一个由Redis备份的队列,有多个Node连接到该Redis服务器,我需要确保它不会两次获得相同的key,因此它永远不会再运行相同的任务不止一次。我正在使用node-redis来完成这项任务:client.set("some_key",data);client.get("some_key",function(err,data){//..});我如何确保在获取该key时没有其他Node进程也能够获取它?如果我仅在获取值后才将其设置为过期,那么当2个进程同时尝试获取相同的值时,这是不够的。 最佳答案 我认为除了用MULTI包装它没有

java - 过期的 Redisson key 在 Redis Cli 中仍然可见

我也刚刚了解了Redis和Redisson。基本上,我正在尝试使用Redis来存储用于在我的应用程序中进行授权的AcessTokens/RefreshTokens。所以我想存储带有到期时间的token。我使用SpringDataRedis来存储token,但没有Api来使Map中的每个条目过期。我看到这篇文章SpringDataRedisExpireKey因此查找了Redisson。我尝试了一个简单的mavenjava项目来测试过期。这是pom.xml:4.0.0com.bridgelabzredissonApp0.0.1-SNAPSHOTjarredissonApphttp://ma

caching - Redis 缓存 - 滑动过期的原生支持

Redis是否支持滑动过期?如果不是,最好的解决方法是什么?谢谢,帕万。 最佳答案 如果“SlidingExpiration”意味着“KeyEviction”那么你有一个答案here. 关于caching-Redis缓存-滑动过期的原生支持,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/35533339/

ruby-on-rails - 使用 Redis 的 Rails 片段缓存不会过期

我正在使用redis-railsgem在Rails5.2应用程序上进行缓存。我通过成功缓存的应用程序使用片段缓存。示例:headergoeshere问题是当对象(在本例中为@site)被触摸并且updated_at时间戳发生变化时,片段缓存不会清除并加载新内容。有什么想法吗? 最佳答案 我已经通过执行以下操作使缓存按预期工作:改用内置支持Redis缓存存储的Rails5.2-Rails5.2:RedisCacheStore使用Redis.current.flushall刷新Rails控制台中的Redis缓存存储单独切换并不能解决问题

PHP session 超时为 0,但 session 仍将过期

我正在使用最新版本的PHP和mysql运行Apache2.2。在我的PHP.ini文件中,我可以看到session超时设置为0,这意味着session保持事件状态直到浏览器关闭。但是我注意到,有时在早上进来时,打开浏览器并在一夜之间登录,session似乎已过期。是否有任何其他配置设置会导致session过期?我只是想尝试一下这些值,看看哪种时间最适合我的网站。非常感谢编辑 最佳答案 你可以试试:http://in2.php.net/manual/en/session.configuration.php#ini.session.gc

mysql - 无法登录 phpmyadmin 错误 #1862 - 您的密码已过期

我在thistutorial之后安装了mysql、php和phpmyadmin.一切正常,即,我可以通过命令行启动并连接到mysql,没有任何错误,但问题是当我尝试登录phpmyadmin时,我收到此错误:#1862-Yourpasswordhasexpired.Tologinyoumustchangeitusingaclientthatsupportsexpiredpasswords.可能值得一提的是,我当前的mysql密码不是我在安装mysql时收到的临时密码,但我后来更改了它(在安装phpmyadmin之前),现在尝试使用这个新(当前)密码登录phpmyadmin向我显示上述错误