标签: redis-cli

如何为redis-cli命令设置超时?

我有一个健康检查,我正在尝试使用redis-cli命令从redis服务器远程执行redis-sentinels.

redis-cli -h 10.10.10.10 -p 26379 SENTINEL MASTER testing
Run Code Online (Sandbox Code Playgroud)

有一个逻辑可以判断是否存在仲裁,除非哨兵的网络接口不可用,否则一切正常.在这种情况下,redis-cli命令无限期挂起,即使有两个具有法定人数的健康哨兵,健康检查也会失败.

我似乎无法找到一种方法来为客户端的redis-cli设置超时,以防止它挂起.有没有办法使用redis-cli来执行此操作,或者我是否必须在命令之外执行以确保它不会无限期挂起?

redis redis-sentinel redis-cli

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

[REDIS]:如何删除主从上的所有密钥?

我试图删除 redis master 和 slave 上的所有键,但是当我执行flushallflushdbredis-climaster 上执行时,它只删除 master 上的键,反之亦然,如果我删除 slave 上的键,它只会删除 slave 上的键。

我应该使用什么命令来删除 master 和 slave(s) 上的所有密钥?

我需要为此启用集群支持吗?因为现在它在我的设置中被禁用。

还有一个问题,为什么在 usingflushallflushdbfrom 的情况下没有复制redis-cli

redis redis-cli redis-cluster

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

删除带空格的键

我试图使用以下命令从我的远程Redis数据库中删除多个密钥.

redis-cli -h <host> -p 6379 KEYS "myprefix:*" | xargs redis-cli -h <host> -p 6379 DEL
Run Code Online (Sandbox Code Playgroud)

它删除了除了包含空格的键之外的所有匹配键.

例如

删除:

  • myprefix:ABC
  • myprefix:DEF
  • myprefix:GHI

未删除:

  • myprefix:jkl mno
  • myprefix:pqr stu
  • myprefix:vwx yza

什么应该是我的查询模式,以便这些也被删除?我试过谷歌搜索,但无法找到任何解决方案.

redis redis-cli

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

在 Redis 容器上使用 Redis-CLI

您好,我正在尝试向Redisdocker 容器发出命令。容器已启动并正在运行。我使用了以下命令: docker run -d -p 8300:85 -t redis

在此处输入图片说明

但是,当我尝试从我的终端使用时: redis-cli -p 8300没有任何反应。
它只是看起来在等待什么。

在此处输入图片说明

我如何与我的 redis 容器通信;我究竟做错了什么?

PS在我将 redis 端口设置为默认值后,6379我在使用时得到一个 id 作为响应,docker run但它仍然停在那里(第一张图片):

在此处输入图片说明

从另一个终端(第二张图片)您可以看到,当第一个终端被阻止时,该实例已创建但未启动。

PS 2等了 10 分钟后,我终于在运行 redis 容器时收到一条错误消息:

$ docker run -d -p 8300:6379 -t redis
244d898dcfb0cd1da4828ee99a16bdd12f62499f99e8dc3ee17af9bacefe5b41
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: failed to create endpoint upbeat_blackwell on network nat: HNS failed with error : You were not connected because a duplicate name exists on the network. If …
Run Code Online (Sandbox Code Playgroud)

redis docker redis-cli

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

(错误)ERR 未知命令“redis-cli”

我们已经安装了redis 客户端

当我们在里面输入以下命令时C:\Program Files\Redis\redis-cli.exe

redis-cli -h redis-server.example.com -p 6390 ping
Run Code Online (Sandbox Code Playgroud)

它引发以下错误:

(错误)ERR 未知命令“redis-cli”

同样的命令在内部触发时C:\Windows\System32\cmd.exe会引发以下错误:

'redis-cli' 不是内部或外部命令,也不是可运行的程序或批处理文件。

注意Path设置为C:\Program Files\Redis\redis-cli.exe

问题是什么?

connection cmd redis node.js redis-cli

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

将json值从file设置为redis

我有一个bash.sh脚本:

#!/usr/bin/env bash

val=$(cat ../my-microservice/conf/config.json)

echo "set my-microservice-config ${val}" |  redis-cli
Run Code Online (Sandbox Code Playgroud)

config.json在哪里:

{
  "key" : "value"
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到了:

ERR未知命令'}'

如何从json文件中正确设置json值?

bash json redis redis-cli

2
推荐指数
1
解决办法
2576
查看次数

为什么我的 redis 命令键不会阻止我的其他操作

形成许多博客,我了解到 redis 命令 keys *可能会阻塞redis服务器,其他命令无法按时执行。

然而,今天我keys *在我的数据库上运行,它有大约 800 万个数据。然后我使用我的另一个客户端来执行其他命令,例如getset,这一切都很好,并按时给出响应。

所以,我很困惑为什么我的命令keys没有被阻止。

图片是https://i.stack.imgur.com/8flt4.png

redis redis-cli

2
推荐指数
1
解决办法
663
查看次数

使用 Redis Expire 命令选项时出错

如果尚未使用 Expire 命令的 NX 选项设置过期时间,我尝试在密钥上设置过期时间。

但我不断从 redis-cli 收到错误,当我尝试使用代码时,NX 选项会被忽略。

当我尝试使用 redis-cli 中的 Expire 命令时,出现以下错误

127.0.0.1:6379> expire ns1 500 NX

(error) ERR wrong number of arguments for 'expire' command

Redis 版本 - v=6.2.6

另外,如果我尝试以编程方式执行此操作,则会忽略过期命令。下面的代码 -

let res = await client.INCRBY('ns1', 5)
console.log('incr val ' + res)
res = await client.EXPIRE('ns1', 60, { 'NX': true }) // this should set expiry
res = await client.EXPIRE('ns1', 180, { 'NX': true }) //this should ignore setting expiry
res = await client.TTL('ns1')console.log('ttl expiry ' + …
Run Code Online (Sandbox Code Playgroud)

redis node.js node-redis redis-cli

2
推荐指数
1
解决办法
2812
查看次数

如何在同一个 Redis 命令中启动、增加和设置到期时间?

INCR mykey初始化为 0 并将值增加到 1。我将如何mykey在同一个命令中将过期时间设置为 ,就像它可以完成的那样SETEX

redis node-redis redis-cli

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

重新设置hSet键上的TTL

我在使用Redis缓存时陷入僵局。我想在按键启动时设置TTL。密钥将由hSet($ hash,$ key,$ data)设置

expire($key, '3600')
Run Code Online (Sandbox Code Playgroud)

似乎不起作用。是否有hExpire()方法?

caching redis redis-cli

0
推荐指数
1
解决办法
2798
查看次数

如何在 Docker 上使用 redis-cli 和 Redis?

在 Docker 中运行 Redis

文件docker-compose.yml

version: "3.8"

services:
  redis:
    image: redis
    volumes:
      - ./data:/data
    ports:
      - 6379:6379
Run Code Online (Sandbox Code Playgroud)
docker pull redis
docker-compose up
docker-compose up -d
docker container ls
telnet localhost 6379
Run Code Online (Sandbox Code Playgroud)

如何连接到Redis服务器redis-cli

redis docker redis-cli docker-compose

0
推荐指数
1
解决办法
3801
查看次数