推荐一款好用的redis客户端工具

2023-11-10

推荐一款好用的redis客户端工具

redis官方客户端(redis-cli)每次都要指定连接IP与端口,连接成功后还要执行auth命令进行口令认证,这个过程比较繁琐,auth命令需要人工干预,不方便自动化执行redis命令。
给大家推荐一款基于RedisConnect开发的redis客户端工具,只要你设置以下环境变量就可以直接执行redis命令,整个过程无需指定连接IP与端口,也不用执行auth命令进行口令认证,大大简化了redis客户端操作。
# redis服务地址与端口
export REDIS_HOST=127.0.0.1:6379
 
# redis连接的认证密码(为空说明无需认证)
export REDIS_PASSWORD=password

安装方法

1、下载源码

git clone https://gitee.com/xungen/redisconnect.git

2、编译安装

直接在源码目录执行make命令就可完成客户端工具的编译,工具名称为redis,使用工具前你需要设置以下环境变量,然后将redis程序复制到系统/usr/bin目录下

# redis服务地址与端口
export REDIS_HOST=127.0.0.1:6379
 
# redis连接的认证密码(为空说明无需认证)
export REDIS_PASSWORD=password

设置好上面的环境变量你可以使用redis客户端,使用方法如下

# 设置一个键值
redis set key xungen

# 设置有效时间
redis expire key 60

# 获取指定键值
redis get key

# 获取有效时间
redis ttl key

得益于RedisConnect开源库简洁强大的接口函数,redis客户端的代码非常简单,核心代码只有以下几行,整个工程只有两个代码文件(RedisConnect.h与RedisCommand.cpp),代码量1000行左右,你可以把它当作一个不错的学习项目。

int idx = 1;
RedisConnect::Command request;

while (true)
{
	const char* data = GetCmdParam(idx++);

	if (data == NULL) break;

	request.add(data);
}

if ((res = redis.execute(request)) > 0)
{
	ColorPrint(eWHITE, "执行命令[%s]成功[%d][%d]\n", cmd, res, redis.getStatus());

	const vector<string>& vec = request.getDataList();

	if (vec.size() > 0)
	{
		ColorPrint(eWHITE, "%s\n", "--------------------------------------");

		for (const string& msg : vec)
		{
			ColorPrint(eGREEN, "%s\n", msg.c_str());
		}

		ColorPrint(eWHITE, "%s\n", "--------------------------------------");
		ColorPrint(eWHITE, "共返回%d条记录\n\n", vec.size());
	}
}
else
{
	ColorPrint(eRED, "执行命令[%s]失败[%d][%s]\n", cmd, res, redis.getErrorString().c_str());
}

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

推荐一款好用的redis客户端工具 的相关文章

  • 如何在实时添加对象时从 Redis 中弹出对象?

    我想让 Node js 进程运行 因为它正在检查 Redis 服务器是否有任何新的弹出内容 另一个进程将偶尔进行推送 而 Node 进程将尝试弹出任何进来的内容 Node 进程将保持运行 有人能给我指出一个好的方向吗 我正在尝试找出如何监听
  • 连接到 localhost:6379 时出现错误 99。无法分配请求的地址

    设置 我有一个虚拟机 并在虚拟机中运行三个容器 一个 nginx 代理 一个非常简约的 Flask 应用程序和 redis Flask 应在端口 5000 上提供服务 而 redis 应在 6379 上提供服务 这些容器中的每一个都可以作为
  • Redis 写入 .ssh/authorized_keys

    当前设置 2 个主服务器 12 个工作服务器 工作人员通过 ssh copy id 连接到主设备 主设备和工作人员正在主设备上的 redis 队列中写入数据 过去一周我遇到的问题是 Redis 正在将数据写入authorized keys
  • 找不到模块“socket.io/node_modules/redis”

    当尝试做的时候 var redis require socket io node modules redis 我收到错误 找不到模块 socket io node modules redis 我不明白为什么 我正在运行 Windows 并运
  • 使用 sidekiq 处理两个独立的 Redis 实例?

    下午好 我有两个独立但相关的应用程序 他们都应该有自己的后台队列 阅读 单独的 Sidekiq 和 Redis 进程 然而 我希望偶尔能够将工作推给app2的队列来自app1 从简单的队列 推送的角度来看 如果app1没有现有的 Sidek
  • 如何在redis中创建自己的数据库?

    There are 0 to 15 databases in redis 我想使用 redis cli 创建自己的数据库 有什么命令可以实现吗 Redis 数据库并不等同于 MySQL 等 DBMS 中的数据库名称 这是一种为键创建隔离和命
  • Laravel - 缓存 Eloquent 并频繁更新

    是否可以对经常修改的对象使用缓存 例如 假设我们有一个 BlogPost 对象 并且有一个经常更改的 num of views 列 以及其他列 是否可以更新缓存和数据库中的 num of views 字段 而不破坏缓存对象并重新创建它 我可
  • python 3.5 中的 json.loads 和 Redis

    我使用 json dumps 创建了一个 JSON 对象 并在 Redis 列表中将其 RPUSH ed 当使用 LRANGE redis lrange 返回 JSON 时 我收到一个二进制字符串 b si 00 ff 所以 json lo
  • Stackexchange.redis 缺乏“WAIT”支持

    我在客户端应用程序正在使用的负载均衡器后面有 3 个 Web API 服务器 我正在使用这个库来访问具有一个主服务器和几个从服务器的 Redis 集群 目前不支持 WAIT 操作 我需要此功能来存储新创建的用户会话并等待它复制到所有从属服务
  • 如何在多个Lua State(多线程)之间传递数据?

    我在中启动Redis连接池redis lua 通过从 C 调用 我得到了redis lua state 此 Lua 状态全局启动一次 仅在其他线程中启动get从中 当有一个 HTTP 请求 工作线程 时 我需要从redis lua stat
  • 如何让客户端下载动态生成的非常大的文件

    我有一个导出功能 可以读取整个数据库并创建一个包含所有记录的 xls 文件 然后文件被发送到客户端 当然 导出完整数据库的时间需要大量时间 并且请求很快就会以超时错误结束 处理这种情况的最佳解决方案是什么 例如 我听说过使用 Redis 创
  • redis集群不断打印日志WSA_IO_PENDING

    当我启动redis集群的所有redis服务器时 所有这些服务器不断打印类似WSA IO PENDING clusterWriteDone的日志 9956 03 Feb 18 17 25 044 WSA IO PENDING writing
  • Redis键空间事件不触发

    我有两个 Redis 客户端 在一个文件中我有一个简单的脚本设置并删除了 Redis 键 var redis require redis var client redis createClient 6379 127 0 0 1 client
  • 如何统计 Redis 流中未读或已确认的消息?

    使用 Redis 5 0 3 假设我们创建一个名为streamy和一个消费群体consumers XGROUP CREATE streamy consumers MKSTREAM 然后向其中添加一些消息 XADD streamy messa
  • 如何将 ActionController::Live 与 Resque + Redis 一起使用(用于聊天应用程序)

    我正在尝试为我的 Rails 应用程序构建聊天功能 我在用ActionController Live Puma Resque Redis为了这 所以基本上在这种情况下 redissubscribe方法正在后台运行 使用resque 到目前为
  • 如何设置和获取Redis中存储的对象?

    我试图在 redis 中存储一个对象 当我获取该对象时 它似乎不起作用 I tried u User new u name blankman redis set test u x redis get test x name error 我想
  • Redis、会话过期和反向查找

    我目前正在构建一个网络应用程序 并想使用 Redis 来存储会话 登录时 会话会使用相应的用户 ID 插入到 Redis 中 并且过期时间设置为 15 分钟 我现在想实现会话的反向查找 获取具有特定用户 ID 的会话 这里的问题是 由于我无
  • 有没有办法用Lettuce自动发现Redis集群中新的集群节点IP

    我有一个Redis集群 3主3从 运行在一个库伯内斯簇 该集群通过Kubernetes 服务 Kube 服务 我将我的应用程序服务器连接到 Redis 集群 使用Kube 服务作为 URI 通过 Redis 的 Lettuce java 客
  • Redis是如何实现高吞吐量和高性能的?

    我知道这是一个非常普遍的问题 但是 我想了解允许 Redis 或 MemCached Cassandra 等缓存 以惊人的性能极限工作的主要架构决策是什么 如何维持连接 连接是 TCP 还是 HTTP 我知道它完全是用C写的 内存是如何管理
  • 使用 Celery 通过 Gevent 进行实时、同步的外部 API 查询

    我正在开发一个 Web 应用程序 该应用程序将接收用户的请求 并且必须调用许多外部 API 来编写对该请求的答案 这可以直接从主 Web 线程使用 gevent 之类的东西来扇出请求来完成 或者 我在想 我可以将传入的请求放入队列中 并使用

随机推荐

  • VS2010 LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 的解决方法

    因为同一个电脑上安装多个VS 有多个cvtres exe 按照下面的操作如果还是不行就在C盘搜索cvtres exe 然后挨个重命名 看看是调用的哪个 然后修改就可以了 用VS2010编译C 项目时出现这样的错误 LNK1123 转换到 C
  • vue+nodejs前后端分离模式详细使用说明

    Node js和Vue js在不同的领域有着不同的使用场景 下面是一些常见的使用场景 使用场景 1 全栈开发 Node js和Vue js可以一起用于全栈开发 即使用Node js作为后端服务器 Vue js作为前端框架 Node js可以
  • java中scanner中nextint,Java Scanner nextInt()方法

    Java Scanner nextInt 方法 java util Scanner nextInt 方法扫描输入的下一个标记为int 形式nextInt 方法的调用和调用nextInt radix 的行为方式完全相同 其中的radix是此扫
  • 为什么要使用三次握手

    首先 tcp是可靠传输协议 需要三次握手建立连接服务 三次握手的目的是 为了防止已经失效的连接请求报文段突然又传到服务端 因而产生错误 这种情况是 client端发出了一个连接请求报文 而是因为某些未知的原因在某个网络节点上发生延迟 滞留
  • 为什么springboot在控制器调用接口调用不了

    可能你只是忘记在接口加这个注解
  • (vscode)html学习记录2

    表格属性 css会提到 align left center right 靠左对齐靠右中间 border 默认为 表示没边框 数字 cellpadding 单元边缘与其内容之间的空白 cellspacing 单元与单元之间的空白 width
  • Ubuntu(20.04)安装mysql8.0

    我的ubuntu版本已是最新版 因此可以通过apt直接安装8 0的mysql 如果是18版本的ubuntu 可能apt直接安装的是5 7版本的mysql 目录 一 安装mysql服务端 二 初始化配置 一 安装mysql服务端 sudo a
  • .ui文件无法自动生成ui_**.h头文件,报错Moc‘ing QtGuiClass.h... 1> Missing value after ‘-I‘.

    VS下Qt环境都配置没问题 程序突然不能编译 ui无法生成 h文件 同时报错Moc ing QtGuiClass h 1 Missing value after I 可尝试以下方法 编辑项目文件 vcproj 将 I NOINHERIT 替
  • 邻接矩阵表示法

    输入 输入的第一行是两个整数 分别是图的总顶点数n和总边数e 第二行是n个空格分开的字符串 是顶点的名字 依次对应编号0 n 1 随后有e行 每行两个空格分开的顶点名字 表示一条边的两个顶点 具体见样例 输出 首先输出n行 每行是第i个顶点
  • 图论3(Leetcode841.钥匙和房间)

    答案 class Solution public boolean canVisitAllRooms List
  • 【JavaScript】try-catch-finally 执行逻辑,及是否包含 return的影响

    try Block catch 语句 try catch 语句首先会执行try包裹的代码块 根据代码块执行结果判断是否进入catch的代码块 若是catch的代码块也有抛出异常 则会覆盖try语句中的异常抛出 function test t
  • Unity在运行时(代码中)设置材质的渲染模式(RenderingMode)

    转载自博客园 牛俊为 在Unity中 有些少数情况下我们需要用代码来创建材质 比如说在材质非常多 而仅仅是纹理不一样的时候 而用代码创建的材质是没有对应的资源文件的 我们也就无法使用Inspector来设置它的Rendering Mode
  • EhCache 说明 &项目实战实用 & 分布式缓存/缓存集群

    I EhCache 说明 EhCache 是一个纯Java的进程内缓存框架 具有快速 精干等特点 是Hibernate中默认的CacheProvider Ehcache是一种广泛使用的开源Java分布式缓存 主要面向通用缓存 Java EE
  • Java用SSH连接服务器,原来这么简单

    前言 前段时间 接了个需求 需要在项目中ssh连接远程服务器 并执行一个脚本 那最重要的就是要找到一个可以在Java程序支持SSH的工具 然后就找到了JSch 还有一个是SSH2 不过我连接没成功 JSch 本文只是JSch的一些简单用法
  • 干货分享|UKUI 主题框架实战技巧

    UKUI 主题框架的实现并非想象中那么简单 但世上无难事只怕有心人 首先咱们需要了解一个关键接口 QPA 接着通过学习具体的类了解如何创建并深入使用平台主题 本文中奇奇为大家准备了丰富的控件知识介绍 并且还有 UKUI 实例展示和实战环节
  • 【C++】全局变量、静态变量、局部变量的生存周期与作用域

    全局变量 静态变量 局部变量的生存周期与作用域 1 生存周期和作用域的定义1 生存周期 变量从定义到销毁的时间范围 存放在全局数据区的变量的生存周期存在于整个程序运行期间 而存放在栈中的数据则随着函数等的作用域结束导致出栈而销毁 除了静态变
  • 用verdi trace代码 auto trace和trace X

    verdi可以方便的trace代码 常见的操作如下 1 拖拽 可以将代码窗口选中的信号拖拽到波形窗口 查看波形 拖拽波形窗口选中的信号到代码窗口 代码自动跳转到选中信号 两个verdi同时打开同一份代码的不同仿真波形 可以在一个verdi波
  • C++知识点 -- vector模拟实现

    C 知识点 vector模拟实现 文章目录 C 知识点 vector模拟实现 一 vector 1 整体结构 2 构造及析构函数 3 capacity和size 4 重载 5 reserve 5 push back和pop back 6 迭
  • unity期末作业-两个简单小游戏游戏-躲避障碍和跑酷(附下载链接和gif动态图演示)

    unity期末两个课设游戏项目 1 简单躲避障碍小游戏游戏 2 unity期末跑酷游戏 1 简单躲避障碍小游戏游戏 游戏角色为一个小人 天上不时会掉落障碍物 人物撞到了会掉生命值 人物可以左右移动跳跃来躲避 带游戏音效 比较简单 具体情况如
  • 推荐一款好用的redis客户端工具

    推荐一款好用的redis客户端工具 redis官方客户端 redis cli 每次都要指定连接IP与端口 连接成功后还要执行auth命令进行口令认证 这个过程比较繁琐 auth命令需要人工干预 不方便自动化执行redis命令 给大家推荐一款