标签: redis-cli

如何通过TTL查找redis密钥

我想找到任何/所有带TTL的redis键-1.这是每个未设置为过期的密钥.我已经尝试了几个GUI客户端,但它们似乎都没有关闭此功能.

我发现这个答案似乎提供了一种从命令行执行此操作的方法.但是当我在本地或在我的远程redis主机上尝试时,我得到"无效参数"错误.

本地 redis-cli keys "*" | while read LINE ; do TTL=`redis-cli ttl $LINE`; if [ $TTL -eq -1 ]; then echo "$LINE"; fi; done;

远程 $redis-cli -h ... -p ... -a redis>> keys "*" | while read LINE ; do TTL=`redis-cli ttl $LINE`; if [ $TTL -eq -1 ]; then echo "$LINE"; fi; done;

我究竟做错了什么?有一个更好的方法吗?

linux redis redis-cli

5
推荐指数
1
解决办法
1462
查看次数

Redis cli删除多个键

我已经在centos中安装了Redis,我有多个像这样的redis键,

Product:<id>:<url>
Run Code Online (Sandbox Code Playgroud)

如何Product:*:* 使用CLI 删除所有内容?

Redis版本:3.2.4 [最新我猜]

谢谢!

redis phpredis stackexchange.redis redis-cli

4
推荐指数
3
解决办法
4496
查看次数

使用 redis-cli 从 redis 服务器删除密钥

我正在尝试使用 redis 服务器中的模式删除密钥,但它没有被删除。

示例按键

1) "flc_77sandeep-pant-back.int.dev.mykronos.com_personality:\xac\xed\x00\x05w\x03\t\xa0\x01"
2) "flc_77sandeep-pant-back.int.dev.mykronos.com_personality:\xac\xed\x00\x05w\x0e\x03\x01SecondaryKe\xf9:\xac\xed\x00\x05w\x03\t\x98\x02"
3) "flc_77sandeep-pant-back.int.dev.mykronos.com_personality:\xac\xed\x00\x05w\x03\t\xb8\x02"
4) "flc_77sandeep-pant-back.int.dev.mykronos.com_personality:\xac\xed\x00\x05w\x0e\x03\x01SecondaryKe\xf9:\xac\xed\x00\x05w\x02\t!"
5) "flc_1310sandeep-pant-back.int.dev.mykronos.com_personality:\xac\xed\x00\x05w\x0e\x03\x01SecondaryKe\xf9:\xac\xed\x00\x05w\x02\t~"
6) "flc_1310sandeep-pant-back.int.dev.mykronos.com_personality:\xac\xed\x00\x05w\x0e\x03\x01SecondaryKe\xf9:\xac\xed\x00\x05w\x03\t\xc0\x02"
7) "flc_-41sandeep-pant-back.int.dev.mykronos.com_personality:\xac\xed\x00\x05w\x03\t\xc5\x01"
8) "flc_77sandeep-pant-back.int.dev.mykronos.com_personality:\xac\xed\x00\x05w\x0e\x03\x01SecondaryKe\xf9:\xac\xed\x00\x05w\x03\t\x94\x03"
9) "flc_77sandeep-pant-back.int.dev.mykronos.com_personality:\xac\xed\x00\x05w\x03\t\xd3\x01"
10) "flc_77sandeep-pant-back.int.dev.mykronos.com_personality:\xac\xed\x00\x05w\x0e\x03\x01SecondaryKe\xf9:\xac\xed\x00\x05w\x03\t\xee\x02"
Run Code Online (Sandbox Code Playgroud)

命令

redis-cli 密钥 *sandeep-pant* | xargs redis-cli DEL

输出

xargs: WARNING: a NUL character occurred in the input.  It cannot be passed through in the argument list.  Did you mean to use the --null option?
xargs: unmatched double quote; by default quotes are special to xargs unless you use the -0 option
(integer) 0
Run Code Online (Sandbox Code Playgroud)

redis redis-cli

4
推荐指数
1
解决办法
1万
查看次数

在redis中复制一个key

我可以使用连接的 redis-cli 复制密钥吗,redis 中是否有预定义的命令?

将 FSS_SYSAGENT 复制到 FSS_SYSAGENTDuplicate。

10.44.112.213:6403> hgetall FSS_SYSAGENT

1) "SYSTEM_01" 2) "{\"端口\":\"4407\",\"ipAddress\":\"10.44.112.213\",\"symbolicName\":\"SYSTEM_01\",\"eventLogEnabled \":\"1110\",\"status\":1,\"wcPort\":\"6029\",\"activeSystem\":\"N\",\"createdBy\":\"\ ",\"createdDate\":\"2018-11-20 13:11:16\",\"modifiedBy\":\"\",\"modifiedDate\":\"\",\"机构\" :\"FSS\",\"delFlag\":0,\"accessID\":0,\"rowCount\":0,\"endCount\":0}"

key redis stackexchange.redis redis-cli

4
推荐指数
1
解决办法
6483
查看次数

Redis cli - KEYS * 未显示所有键

我正在使用以下命令连接到 AWS redis 集群

redis-cli -c -h host.amazonaws.com -p 6379
Run Code Online (Sandbox Code Playgroud)

我从 springboot 应用程序将两个键“X1”和“X2”推送到 redis 缓存中(API 方法未用注释@Cacheable,现在当我从 cli 终端运行时,KEYS *它会列出“X1”或“X2”,但不会同时列出两者。不过,两个键的 GET 都可以正常工作。

info keyspace返回以下内容;

键空间

db0:keys=11,expires=1,avg_ttl=1975400
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

redis redis-cli redis-cluster

4
推荐指数
1
解决办法
4057
查看次数

如何使用特定的 .rdb 文件启动 redis?

我在没有密码的情况下安装了 redis。然后我尝试输入密码但没有成功,并决定从我的服务器中删除所有与 redis 相关的内容。之后,我再次安装了redis并成功设置了密码。问题是现在正在创建一个新数据库而不是从旧数据库中读取。我正在从 sabe 目录运行相同的命令。$~/ redis-server

我还尝试检查是否正在生成一个新的 dump.rdb 文件:

find / -type f -name "*.rdb"
Run Code Online (Sandbox Code Playgroud)

但只是找到我dump.rdb想使用的正确文件。

有没有办法将我的最后一个数据库导入到这个新数据库中?或者,有没有办法使用该correct dump.rdb文件启动我的服务器?

redis redis-server redis-cli

3
推荐指数
2
解决办法
5444
查看次数

带有通配符字段的 redis hmget

我在 redis 中有一个哈希集,如下所示。

"abcd" : {
    "rec.number.984567": "value1",
    "rec.number.973956": "value2",
    "rec.number.990024": "value3",
    "rec.number.910842": "value4",
    "rec.number.910856": "...",
    "other.abcd.efgh": "some value",
    "other.xyza.blah": "some other value"
    "..." : "...",
    "..." : "...",
    "..." : "...",
    "..." : "..."
}
Run Code Online (Sandbox Code Playgroud)

如果我调用 hgetall abcd,它会给我哈希中的所有字段。我的目标是仅获取哈希集中以“rec.number”开头的字段。当我打电话时

  redis-cli hmget "abcd" "rec.number*", 
Run Code Online (Sandbox Code Playgroud)

它给了我这样的结果

1)
Run Code Online (Sandbox Code Playgroud)

有没有办法只检索那些以我的预期模式开头的键的数据?我只想检索这些键,因为我的数据集包含许多其他不相关的字段。

redis redis-cli

3
推荐指数
1
解决办法
1万
查看次数

Redis对对象的编码和大小的影响

当我将一些对象写入 Redis 时,我可以获得不同的内存使用统计信息。我想了解这是如何发生的。

简单的例子:

127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> MEMORY usage a
(integer) 49
127.0.0.1:6379> set a "1"
OK
127.0.0.1:6379> MEMORY usage a
(integer) 49
127.0.0.1:6379> set a \x01 <<<< Message packed of number 1
OK
127.0.0.1:6379> MEMORY usage a
(integer) 55
127.0.0.1:6379> set a '\x01' <<<< Message pack of number 1 but added '' 
OK
127.0.0.1:6379> MEMORY usage a
(integer) 55
127.0.0.1:6379> set a "\x01" <<<<< Message pack of number 1 but added "" 
OK
127.0.0.1:6379> MEMORY usage …
Run Code Online (Sandbox Code Playgroud)

memory redis redis-cache redis-cli

3
推荐指数
1
解决办法
1380
查看次数

直接'kubectl run'redis-cli

我想启动一个容器并直接redis-cli在里面交互运行。由于某种原因,在我的尝试中,输入总是被忽略。

启动交互式 shell,然后手动启动程序即可:

# in my local shell:
$ kubectl run redis-cli --image redis:latest --attach --leave-stdin-open --rm -it --command -- bash
# then in container shell:
root@redis-cli:/data# redis-cli -h redis.example.com
# now the redis-cli shell is open:
redis.example.com:6379>
Run Code Online (Sandbox Code Playgroud)

如何将其合并到一个命令中以直接进入redis-clishell?我已尝试以下操作,但没有看到任何提示,并且我的所有输入都被忽略。我什至无法按 ctrl-C 或 ctrl-D 退出它。

# in my local shell:
$ kubectl run redis-cli --image redis:latest --attach --leave-stdin-open --rm -it --command -- bash
# then in container shell:
root@redis-cli:/data# redis-cli -h redis.example.com
# now the redis-cli shell is …
Run Code Online (Sandbox Code Playgroud)

redis redis-cli kubectl

3
推荐指数
1
解决办法
1万
查看次数

无法从本地计算机连接到 AWS Elasticache Redis 集群

我最近在 AWS elasticache 上创建了一个 Redis 集群,但在通过本地计算机上的 redis-cli 连接时遇到问题。每次我运行命令时:

redis-cli -h <redis_cluster_domain> -p 6379
Run Code Online (Sandbox Code Playgroud)

连接从未建立并最终因超时而退出。

最终,我发现它是由于安全组上的设置而被阻止的,因此我编辑了入站规则以允许来自我的 IP 地址的所有流量。即使执行此操作后,我仍然无法连接到集群。有什么想法可能是为什么吗?

amazon-web-services amazon-elasticache amazon-vpc redis-cli aws-security-group

3
推荐指数
1
解决办法
1万
查看次数