我的 redis 密钥不会过期

2023-12-29

当生存时间达到 0 时,我的 Redis 服务器不会删除键。

这是示例代码:

redis-cli
>SET mykey "ismykey"
>EXPIRE mykey 20
#check TTL
>TTL mykey
>(integer) 17
> ...
>TTL mykey
>(integer) -1
#mykey chould have expired:
>EXISTS mykey
>(integer) 1
>#oh still there, check its value
>GET mykey
>"ismykey"

如果我检查 redis 返回的信息,它说 0 个密钥已过期。

任何想法?

thanks.


由于您正在执行“...”,所以很难确定,但我想说您在该部分期间设置了 mykey,这将有效地消除过期。

来自过期手册 http://redis.io/commands/expire

仅当使用 DEL 删除按键时,超时才会被清除 命令或使用 SET 或 GETSET 命令覆盖

另外,关于 TTL 的 -1 回复 http://redis.io/commands/ttl

返回值

整数回复:TTL(以秒为单位)或 -1(当密钥不存在时) 存在或没有超时。

编辑:请注意,此行为在 Redis 2.8 中发生了变化

从 Redis 2.8 开始,发生错误时的返回值发生了变化:
如果该键不存在,该命令将返回 -2。
如果密钥存在但没有关联的过期时间,则该命令返回 -1。

换句话说,如果您的密钥存在,它似乎是持久的,即没有设置任何过期时间。

编辑:如果我在 REDIS 从属服务器上创建密钥,我似乎可以重现这一点,如果没有主服务器输入,从属服务器不会删除该密钥,因为通常您不会在从属服务器上本地创建密钥。这里是这样吗?

然而,虽然连接到主设备的从设备不会使密钥过期 独立(但会等待来自主机的 DEL), 他们仍然会采用现有的过期状态的完整状态 数据集,因此当从站被选举为主站时,它将能够 独立地使密钥失效,完全充当主控。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的 redis 密钥不会过期 的相关文章

  • 如何在Redis中进行持久化存储?

    关闭redis服务器后 使用set存储的值被破坏 在这里我找到了使用持久性存储的方法 有人帮助我 如何使用javascript实现这一点 我想将客户端的一些值存储在 redis 数据库中 并且必须在其他客户端中使用该值 您需要配置 Redi
  • 如何在Redis中从hmset()切换到hset()?

    我收到弃用警告 即 Redis hmset 已弃用 请改用 Redis hset 但是 hset 采用第三个参数 我不知道是什么name应该是 info users 10 timestamp datetime utcnow strftime
  • Lua中按字符分割字符串

    我有像这样的字符串 ABC DEF 我需要将它们分开 字符并将两个部分分别分配给一个变量 在 Ruby 中 我会这样做 a b ABC DEF split 显然Lua没有这么简单的方法 经过一番挖掘后 我找不到一种简短的方法来实现我所追求的
  • 2 个具有共享 Redis 依赖的 Helm Chart

    目前 我有 2 个 Helm Charts Chart A 和 Chart B Chart A 和 Chart B 对 Redis 实例具有相同的依赖关系 如Chart yaml file dependencies name redis v
  • redis - 使用哈希

    我正在使用 redis 为我的 Web 应用程序实现社交流和通知系统 我是 redis 的新手 我对哈希值及其效率有一些疑问 我读过这篇很棒的文章Instagram 帖子 http instagram engineering tumblr
  • 有没有办法让特定的key在集群模式下定位到特定的redis实例上?

    我想让我的多锁位于不同的redis实例上 我发现redission可以指定一个实例来执行命令 但是如果该命令与key相关 则指定的实例会将命令传输到另一个实例 你能给我一些建议吗 你可以 但这并不是微不足道的 首先 Redis 在键中使用大
  • Redis是如何实现高吞吐量和高性能的?

    我知道这是一个非常普遍的问题 但是 我想了解允许 Redis 或 MemCached Cassandra 等缓存 以惊人的性能极限工作的主要架构决策是什么 如何维持连接 连接是 TCP 还是 HTTP 我知道它完全是用C写的 内存是如何管理
  • 在 Redis 上为 Django 和 Express.js 应用程序共享会话存储

    我想创建一个包含一些登录用户的 Django 应用程序 另一方面 由于我想要一些实时功能 所以我想使用 Express js 应用程序 现在的问题是 我不希望身份不明的用户访问 Express js 应用程序的日期 因此 我必须在 Expr
  • 想要在后台不间断地运行redis-server

    我已经下载了 redis 2 6 16 tar gz 文件并安装成功 安装后我运行 src redis server 它工作正常 但我不想每次都手动运行 src redis server 而是希望 redis server 作为后台进程持续
  • 节点应用程序之间共享会话?

    我目前有两个独立的节点应用程序在两个不同的端口上运行 但共享相同的后端数据存储 我需要在两个应用程序之间共享用户会话 以便当用户通过一个应用程序登录时 他们的会话可用 并且他们似乎已登录到另一个应用程序 在本例中 它是一个面向公众的网站和一
  • 由于配置文件错误,无法启动 Redis 服务器

    我刚刚按照此处的说明安装了 Redis http redis io download http redis io download 当我运行 redis server redis conf 时出现以下错误 FATAL CONFIG FILE
  • Redis 在键过期时更新排序集

    我有一个 Redis 服务器 其中包含一组键值对和一个排序集 提供这些键值对的键的索引 键值对可以进入 已完成 状态 此时需要在 1 小时后删除它们 这可以通过在键上设置到期时间来简单地实现 但从排序集中清除它们似乎更成问题 我可以有一个过
  • Web API 缓存 - 如何使用分布式缓存实现失效

    我有一个 API 目前不使用任何缓存 我确实有一个正在使用的中间件 它可以生成缓存标头 Cache Control Expires ETag Last Modified 使用https github com KevinDockx HttpC
  • 使用 Redis 中的键

    我是 Redis 和键值数据库的新手 你能告诉我如何在redis中正确实现这种关系方法吗 我有一个关系表 其中两个键对应一个值 master id slave id 价值 Example 主站 ID 从属ID 价值 1 1 值1 2 1 值
  • 批量将Dictionary中的数据设置到Redis中

    我正在使用 StackExchange Redis DB 插入键值对字典Batch如下 private static StackExchange Redis IDatabase database public void SetAll
  • 在redis中存储多个嵌套对象

    我想在redis中存储多个复杂的json数据 但不知道如何 这是我的 json 结构 users user01 username ally email email protected cdn cgi l email protection u
  • 检查 Redis 列表中是否已存在某个值

    我想知道是否有办法检查 redis 列表中是否已存在某个键 我无法使用集合 因为我不想强制唯一性 但我确实希望能够检查字符串是否确实存在 Thanks 您的选择如下 Using LREM如果发现则更换它 维护一个单独的SET与您的LIST
  • spring中如何使用jackson代替JdkSerializationRedisSerializer

    我在我的一个 Java 应用程序中使用 Redis 并且正在序列化要存储在 Redis 中的对象列表 但是 我注意到使用 RedisTemplate 会使用 JdkSerializationRedisSerializer 相反 我想使用 J
  • 如何按键中的值对 Redis 哈希进行排序

    Redis 有没有一种好方法来获取按值排序的哈希中的键 我查看了文档 但没有找到直接的方法 另外有人可以解释一下redis中的排序是如何实现的 以及什么吗 本文档 http redis io commands SORT using hash
  • 使用 Gorilla 会话自定义后端有什么优势?

    我想使用 Redis 进行会话管理 但我不明白使用 Redis 作为 Gorilla 会话包的自定义后端比直接使用它有什么优势 Gorilla 会话包的链接 http www gorillatoolkit org pkg sessions

随机推荐

  • 在 for 循环中更改 SVG 线的 strokeDashoffset

    我正在尝试制作一条线扩展的动画 我已经在 css 中拥有它 但我需要在 javaScript 中完成它 因为这是我可以获得我需要的路径长度的唯一方法 我想我已经非常接近了 但它不起作用 有任何想法吗 以下是我的代码 正如你所看到的 我得到了
  • Python 中增加版本号

    我正在尝试对 CVS 中的文件进行版本号更新 我最初的逻辑是更新一个浮点数 1 1 gt 1 2 gt 1 3 它工作得很好 直到我到达 1 9 然后它更新到 2 0 我正在尝试使用此逻辑更新到 1 10 但是当我尝试增加 1 x 中的 x
  • 重命名类型后,我无法访问其某些方法

    为了防止项目的不同文件存在多个依赖关系 并且由于我可能会更改数据的呈现方式 我决定为绘制2D包 https github com llgcode draw2d 由于我不需要其他任何东西 我只是重命名了其中一种类型 type CanvasCo
  • 为什么我收到 apple-touch-icon-precomposed.png 错误

    我创建了一个新的 Rails3 项目 但我在服务器日志中多次看到以下日志 为什么我会收到这些请求以及如何避免这些请求 开始获取 192 168 6 2 的 apple touch icon precomposed png 2012 09 1
  • 设置数字格式以分隔千位值(例如 12000000 将变为 12 000 000)

    在lua中 我想格式化一个整数 或浮点数 以用空格 或逗号 如美国 分隔每三个小数位 因此例如数字120000010将显示为 120 000 010 或者 120 000 010 我已经发现this http lua users org w
  • RethinkDB - 更新嵌套数组

    我有一个调查表 如下所示 id Id date Date clients client id Id contacts contact id Id score Number feedback String email String 我需要更新
  • 表达式 std::string {} = "..." 是什么意思?

    在此代码中 include
  • 网格模板区域和网格模板列之间的关系

    我是编码新手 似乎没有正确理解 CSS 网格模型 在下面的代码中 网格分为 3 个网格模板列 每列 300 像素 但网格模板区域中每行有 8 个单元 例如 hd hd hd hd hd hd hd hd 而不是 3 个单元这对我来说没有意义
  • 跨域请求被阻止:同源策略不允许读取远程资源 - React js

    我在 Mac OS 设备上运行我的项目 并且想从另一台笔记本电脑进行访问 第一个设备也从服务器获取所有响应 http 192 168 1 101 3000 http 192 168 1 101 3000 但另一台笔记本电脑我收到此错误消息
  • 如何将llvm IR转换为c代码?

    有什么方法可以将 llvm IR 转换为 c 代码并保留其语义吗 例如 我们可以先将c代码编译到llvm IR 然后再将其编译回另一段c代码吗 我不希望这两个文件是相同的 但它们需要具有相同的功能 谢谢 您可以使用 C 后端 llc mar
  • 使用 MIDP 通过 http 从服务器读取 UTF8 字符串

    我想使用 java MIDP 从我控制的服务器读取 UTF 8 字符串 我的服务器正在发送 UTF 8 数据 下面的代码很接近 c StreamConnection Connector open myServer Connector REA
  • 使用样式或 Javascript 使图像变亮

    我想使用 css 或 javascript 在鼠标悬停时使网页上的图像变亮 我见过一些在样式中使用不透明度和滤镜的示例 但它们似乎对我不起作用 提前致谢 CP UPDATE 一个纯 CSS 解决方案是使用CSS 过滤器 https deve
  • 在 R 中读取二进制文件

    在以下代码中 可以导入具有这些属性的部分 LAS 文件版本 1 1 列表 项目格式 尺寸要求 X长4字节 Y长4字节 Z长4字节 强度无符号短 2 字节 返回编号 3 位 位 0 1 2 3 位 返回数 给定脉冲 3 位 位 3 4 5 3
  • 将页面映射到不同进程的地址空间

    可以使用以下命令读取和修改另一个进程地址空间中的内存ptrace 2 or process vm readv 2 process vm writev 2 但是我找不到系统调用来在另一个进程的地址空间中分配新内存 我目前能想到的唯一方法是向进
  • undefined 不是对象(评估 '_react.PropTypes.object')

    刚刚使用react native init创建了一个新项目 使用 react 16 0 0 react native 0 51 0 从 xcode 运行项目我收到以下错误 未处理的 JS 异常 模块 AppRegistry 不是已注册的可调
  • Antlr4:如何在语法中隐藏和使用令牌

    我正在解析一种定义两种类型的语句的脚本语言 控制语句和非控制语句 非控制语句总是以 而控制语句可能以以下结尾 or EOL n 语法的一部分如下所示 script statement EOF statement control statem
  • 在 PowerShell 中选择数组的所有对象的一个​​属性的值

    假设我们有一个对象数组 objects 假设这些对象有一个 Name 属性 这就是我想做的 results objects results Name 这可行 但是可以用更好的方式来完成吗 如果我做类似的事情 results objects
  • 无法绑定Margin属性?

    我正在尝试制作一种动画电影片段 其中在给定时刻只有一个字段可见 就像相机中的胶片一样 当前只有一个胶片场放置在镜头下方并准备被照亮 我尝试将其实现为一个带有另一个网格的网格 Film strip 在下面的代码中称为 pageContaine
  • 为什么x86很丑?为什么与其他人相比,它被认为是劣等的? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我的 redis 密钥不会过期

    当生存时间达到 0 时 我的 Redis 服务器不会删除键 这是示例代码 redis cli gt SET mykey ismykey gt EXPIRE mykey 20 check TTL gt TTL mykey gt integer