活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 出海产品促销专区 NEW 爆款云主机低至2折,高性价比,不限新老速来抢购!
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      文档中心

      分布式缓存服务Redis版

      分布式缓存服务Redis版

        • 产品动态
        • 服务公告
        • 2024年
        • 【优惠】正式开放2年7折,3年5折包年折扣
        • 【优惠】分布式缓存服务Redis版新增包年优惠
        • 【通知】经典版调整为白名单特性
        • 产品介绍
        • 产品介绍
        • 产品优势
        • 应用场景
        • 功能概览
        • 实例类型
        • 概览
        • 实例类型差异
        • 单机
        • 主备
        • 集群单机
        • 集群主备
        • Cluster单机
        • Cluster主备
        • Proxy集群主备
        • 读写分离
        • 实例规格
        • 基础版
        • 增强版
        • 经典版
        • 产品规格差异
        • Redis版本差异
        • Redis版本类型差异
        • 开源命令兼容性
        • Redis 5.0支持及禁用的命令
        • Redis 6.0支持及禁用的命令
        • Redis 7.0支持及禁用的命令
        • 经典版Redis2.8/4.0/5.0开源命令兼容性
        • Web CLI中支持和禁用命令
        • 部分命令使用限制
        • 实例受限使用命令
        • 安全
        • 认证与访问控制
        • 数据保护技术
        • 容灾策略
        • 数据复制
        • 监控安全风险
        • 主子账号和IAM权限管理
        • 术语解释
        • 与其他服务关系
        • 计费说明
        • 产品资费
        • 基础版
        • 增强版
        • 经典版
        • 计费项
        • 计费模式
        • 续费、到期与欠费
        • 退订
        • 快速入门
        • 入门指引
        • 环境准备
        • 创建实例
        • 连接实例
        • 使用须知
        • 用户指南
        • 使用前必读
        • 管理和使用分布式缓存服务
        • 分布式缓存服务Redis控制台简介
        • 使用限制
        • 权限管理
        • 创建用户并授权使用Redis
        • 创建Redis自定义策略
        • 连接实例
        • 连接约束
        • 查看连接地址
        • Redis登录方式
        • redis-cli连接方式
        • 控制台连接Redis
        • 通过客户端连接方式
        • 公网连接Redis实例
        • 实例生命周期管理
        • 创建实例
        • 扩容
        • 缩容
        • 退订
        • 按需与包周期互转
        • 实例大版本升级
        • 实例小版本升级
        • 实例退订保护
        • 回收站
        • 实例配置管理
        • 账号管理
        • 重置实例密码
        • 绑定公网IP
        • 白名单设置
        • 修改实例安全组
        • 实例标签配置
        • 参数配置
        • 接入机配置
        • 命令重命名
        • SSL设置
        • 修改服务端口
        • 开启扩展模块
        • 实例日常操作
        • 查看实例概览
        • 查看实例信息
        • 导出实例列表
        • 修改维护时间
        • 实例重启
        • 模块重启
        • 主从切换
        • Redis节点管理
        • 接入机节点管理
        • 应用数据管理
        • 删除实例数据
        • 缓存接入云审计
        • 查看任务中心
        • 实例备份恢复管理
        • 备份与恢复说明
        • 自动备份实例数据
        • 手动备份实例数据
        • 还原恢复实例数据
        • 实例克隆
        • 从对象存储导入
        • 查看监控与告警配置
        • 基本指标
        • 节点指标
        • 告警配置
        • 实例诊断分析
        • 大Key和热Key分析
        • 离线全量KEY分析
        • 过期KEY扫描
        • 客户端会话
        • 慢日志查询
        • 运行日志查询
        • 数据迁移指南
        • 数据迁移概述
        • 迁移方案说明
        • 自建Redis迁移到DCS
        • 使用Redis-cli迁移自建Redis(AOF文件)
        • 使用Redis-cli迁移自建Redis(RDB文件)
        • 使用RedisShake工具迁移自建Redis Cluster集群
        • 使用在线迁移自建Redis
        • 其他云厂商Redis迁移至DCS
        • 使用RedisShake工具离线迁移其他云厂商Redis Cluster集群
        • 使用在线迁移其他云厂商Redis
        • DCS实例间迁移
        • 使用在线迁移Redis
        • 使用备份文件离线迁移
        • 数据同步服务
        • 校验迁移后的Redis数据的完整性
        • 迁移常见问题
        • API参考
        • API使用说明
        • 产品规格参数说明
        • 最佳实践
        • Redis使用规范
        • 秒杀库存控制
        • 分布式Session
        • 分布式锁
        • 热点数据存储
        • 排行榜功能
        • 实时计数器
        • 大Key、热Key的发现与处理
        • Redis客户端通过CCSE连接Redis
        • Redis客户端重试
        • 弹性IP实现公网访问
        • Jedis连接池优化
        • 性能白皮书
        • 测试工具介绍
        • Redis 5.0 主备实例测试数据
        • Redis 6.0 主备实例测试数据
        • Redis 7.0 主备实例测试数据
        • Redis 5.0 Cluster主备实例测试数据
        • Redis 6.0 Cluster主备实例测试数据
        • Redis 7.0 Cluster主备实例测试数据
        • Redis 6.0 Proxy集群实例测试数据
        • Redis 7.0 Proxy集群实例测试数据
        • Redis 6.0 读写分离实例测试数据
        • Redis 7.0 读写分离实例测试数据
        • 常见问题
        • 实例类型/版本
        • 版本差异
        • Redis 4.0支持的新特性说明
        • Redis 5.0支持的新特性说明
        • Redis 6.0支持的新特性说明
        • Redis 7.0支持的新特性说明
        • 购买与计费
        • 购买与计费常见问题
        • IAM子用户无法看到新买的Redis?
        • 功能类
        • 功能类常见问题
        • 分布式缓存服务Redis与原生RedisCluster有什么区别?
        • 基本指标监控有哪些?
        • 是否支持数据持久化?
        • Redis使用
        • Redis使用常见问题
        • 集群版客户端常见错误码有哪些?
        • 执行命令时出现20010004错误码
        • redis的落盘策略是怎样?
        • Redis实例支持的单个Key和Value数据大小是否有限制?
        • 缓存实例的数据被删除后,能否找回?
        • Redis实例CPU使用率达到100%的原因?
        • Redis key丢失是什么原因?
        • Redis实例是否支持SSL加密传输?
        • 如何修改Redis实例的SSL开关?
        • Cluster集群实例容量和性能未达到瓶颈,但某个分片容量或性能已过载是什么原因?
        • 不同编程语言如何使用Cluster集群客户端?
        • Proxy集群使用多DB的方法和限制
        • 控制台操作
        • 控制台操作常见问题
        • 实例类型有哪些?
        • 网络与连接
        • 网络与连接常见问题
        • 如何检测弹性云主机与Redis之间的网络连接?
        • Redis连接失败问题排查和解决
        • 如何使用Redis-desktop-manager访问Redis实例?
        • 如何配置安全组?
        • 如何使用telnet命令检测Redis端口连通性?
        • 使用Redis实例的发布订阅(pubsub)有哪些注意事项?
        • 如何解决Lettuce 6.x版本客户端鉴权错误问题?
        • 如何开启ipv6访问实例?
        • 扩容与类型变更
        • 主从切换
        • 监控告警
        • Redis命令
        • 大Key/热Key分析/过期Key扫描
        • 相关协议
        • 天翼云分布式缓存服务协议
          无相关产品

          本页目录

          帮助中心分布式缓存服务Redis版用户指南连接实例通过客户端连接方式
          通过客户端连接方式
          更新时间 2024-11-24 15:20:50
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          最近更新时间: 2024-11-24 15:20:50
          分享文章
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          本节主要介绍如何通过客户端连接Redis

          前提条件

          请根据客户端程序的部署位置,完成下述操作:

          1. 天翼云弹性云主机(推荐):确保CT-ECS实例与Redis实例属于同一VPC(虚拟私有云)下。

          2. 本地服务器

            分布式缓存Redis实例默认仅提供内网连接地址,通过公网连接时您需要手动申请公网连接地址。具体操作,请参见购买弹性IP。

            针对不同的网络环境或操作系统,获取本地设备公网IP地址的方式可能不一致。以下是不同系统通过命令方式获取本地设备公网IP地址的参考方法:

            a.Linux操作系统:打开终端,输入curl ifconfig.me命令后回车。

            b.Windows操作系统:打开命令提示符,输入curl ip.me命令后回车。

            c.macOS操作系统:打开终端,输入curl ifconfig.me命令后回车。

          注意:如果您的Redis实例为集群架构,实例默认会提供Proxy(代理)节点的连接地址,连接密码为“ 实例名称 # 实例密码 ”。

          如何获取连接信息

          在使用客户端程序连接Redis实例时,通常您需要获取以下信息并设置在代码中:

          需获取的信息 获取方式
          实例的连接地址 Redis实例支持多种连接地址,推荐使用专有网络连接,可获得更高的安全性和更低的网络延迟。更多信息,请参见查看连接地址。
          实例的账号(部分客户端程序无需设置) 针对集群版实例,您可以创建一个新的账号并赋予不同的权限。更多信息,请参见创建与管理账号。
          所选实例账号的密码 根据选取账号的不同,密码的填写格式有一定区别:
          ● 默认账号(以实例名称命名的账号):直接填写密码即可。
          ● 新创建的账号:密码格式为"user"#"password"。例如自定义账号为testaccount,密码为testPasswd,密码需填写为testaccount#testPasswd。
          说明:
          ● 如果通过第三方数据库管理工具连接Redis实例,请在密码框中输入user#password进行连接。
          ● 如果忘记密码,您可以重置密码。具体操作,请参见重置缓存实例密码。

          常见客户端示例

          关于Redis支持的客户端列表请参见Redis官方文档,以下为部分客户端的连接实例。

          Java

          可通过Jedis客户端连接Redis,Jedis是一个Java编程语言用于与Redis服务器进行交互的开源客户端库,允许Java应用程序通过网络与Redis服务器进行通信,并执行各种操作,如数据读写、事务处理、订阅发布等。它提供了简单易用的API,使得与Redis服务器的交互变得非常方便。使用Jedis连接Redis步骤如下:

          1. 下载并安装Jedis客户端。
          2. 根据业务需求选择连接方式。

          打开Eclipse客户端,创建一个Project并配置pom文件,具体内容如下:

          <dependency>
             <groupId>redis.clients</groupId>
             <artifactId>jedis</artifactId>
             <version>Latest version</version>
             <type>jar</type>
             <scope>compile</scope>
          </dependency>
          

          根据Jedis客户端版本,在Project中输入下述代码,然后根据注释提示修改代码

          JedisPoolConfig config = new JedisPoolConfig();
          // 允许的最大空闲连接数,不可超过Redis实例的最大连接数。
          config.setMaxIdle(200);
          // 允许的最大连接数,不可不超过Redis实例的最大连接数。
          config.setMaxTotal(300);
          config.setTestOnBorrow(false);
          config.setTestOnReturn(false);
          // 分别将ip和password的值替换为实例的连接地址、密码。
          String ip = "redis_ip";
          String password = "password";
          JedisPool pool = new JedisPool(config, ip, redis_port, 3000, password);
          Jedis jedis = null;
          try {
              jedis = pool.getResource();
              // 执行相关操作,示例如下。
              // Store & Retrieve a simple string
              jedis.set("foo", "bar");
              System.out.println(jedis.get("foo")); // prints bar
          
              // Store & Retrieve a HashMap
              Map<String, String> hash = new HashMap<>();;
              hash.put("name", "John");
              hash.put("surname", "Smith");
              hash.put("company", "Redis");
              hash.put("age", "29");
              jedis.hset("user-session:123", hash);
              System.out.println(jedis.hgetAll("user-session:123"));
              // Prints: {name=John, surname=Smith, company=Redis, age=29}
              }catch (Exception e) {
              // 超时或其他异常处理。
              e.printStackTrace();
          }finally {
              if (jedis != null) {
                  jedis.close();
              }
          }
          
          pool.destroy();    // 当应用退出,需销毁资源时,调用此方法。此方法会断开连接、释放资源。
          

          运行上述代码,在Eclipse的控制台输出如下运行结果,则表示您已成功连接至分布式缓存Redis数据库。

          bar
          {name=John, surname=Smith, company=Redis, age=29}
          

          Python

          使用Python连接Redis步骤如下:

          1. 下载并安装redis-py客户端。

          2. 在Python编辑器中输入下述代码,然后根据注释提示修改代码。

            本示例的Python版本为3.9、redis-py版本为4.4.1。

            #!/usr/bin/env python
            #-*- coding: utf-8 -*-
            import redis
            # 分别将host和port的值替换为实例的连接地址、端口号。
            host = 'redis_ip'
            port = redis_port
            # 将pwd的值替换为实例的密码。
            pwd = 'password'
            r = redis.Redis(host=host, port=port, password=pwd)
            # 连接建立后即可执行数据库操作,下述代码为您提供SET与GET的使用示例。
            r.set('foo', 'bar')
            # True
            print(r.get('foo'))
            # bar
            r.hset('user-session:123', mapping={
                'name': 'John',
                "surname": 'Smith',
                "company": 'Redis',
                "age": 29
            })
            # True
            r.hgetall('user-session:123')
            # {'surname': 'Smith', 'name': 'John', 'company': 'Redis', 'age': '29'}
            
          3. 运行上述代码,在\控制台输出如下运行结果则表示您已成功连接至分布式缓存Redis数据库。

            bar
            {'surname': 'Smith', 'name': 'John', 'company': 'Redis', 'age': '29'}
            

          C或C++

          使用C或C++客户端连接Redis步骤如下

          1. 下载并安装C客户端
          2. 在C或C++编辑器中输入下述代码,然后根据注释提示修改代码。

          本示例的HiRedis版本为1.1.0

          #include <stdio.h>
          #include <stdlib.h>
          #include <string.h>
          #include <hiredis.h>
          int main(int argc, char **argv) {
              unsigned int j;
               redisContext *conn;
               redisReply *reply;
               if (argc < 3) {
                       printf("Usage: example {instance_ip_address} redis_port {password}\n");
                       exit(0);
               }
               const char *hostname = argv[1];
               const int port = atoi(argv[2]);
               const char *password = argv[3];
               struct timeval timeout = { 1, 500000 }; // 1.5 seconds
               conn = redisConnectWithTimeout(hostname, port, timeout);
               if (conn == NULL || conn->err) {
          		if (conn) {
                       printf("Connection error: %s\n", conn->errstr);
                       redisFree(conn);
          		} else {
                       printf("Connection error: can't allocate redis context\n");
          		}
               exit(1);
               }
               /* AUTH */
               reply = redisCommand(conn, "AUTH %s", password);
               printf("AUTH: %s\n", reply->str);
               freeReplyObject(reply);
          
               /* Set */
               reply = redisCommand(conn,"SET %s %s", "welcome", "Hello, DCS for Redis!");
               printf("SET: %s\n", reply->str);
               freeReplyObject(reply);
          
               /* Get */
               reply = redisCommand(conn,"GET welcome");
               printf("GET welcome: %s\n", reply->str);
               freeReplyObject(reply);
          
               /* Disconnects and frees the context */
               redisFree(conn);
               return 0;
          }
          

          Spring Boot 集成 Lettuce Redis 客户端

          • SpringBoot从2.0起默认使用lettuce客户端进行连接。
          • 此次使用的版本:springboot:2.7.4,lettuce:6.1.9。

          1.在 Spring Boot 项目的 pom.xml 文件中添加如下依赖:

          <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-redis</artifactId>
          </dependency>
          <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
          </dependency>
          

          2.在application.properties配置文件中加上redis相关配置。

          spring.redis.host=your_redis_host
          spring.redis.database=0
          spring.redis.password=your_password
          spring.redis.port=your_redis_port
          
          

          将 your_redis_host 替换为 Redis 服务器的主机名,your_redis_port 替换为 Redis 服务器的端口号。Redis 服务器有密码,需要设置 spring.redis.password。

          3.做好以上准备工作之后,在项目配置类中创建 RedisTemplate Bean,并配置 Lettuce Redis 连接工厂。

          @Configuration
          public class RedisConfiguration {
          
              @Bean
              public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) {
                  RedisTemplate<String, Object> template = new RedisTemplate<>();
                  template.setConnectionFactory(lettuceConnectionFactory);
                  //使用Jackson2JsonRedisSerializer替换默认的JdkSerializationRedisSerializer来序列化和反序列化redis的value值
                  Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
                  ObjectMapper mapper = new ObjectMapper();
                  mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
                  mapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,
                          ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);
                  jackson2JsonRedisSerializer.setObjectMapper(mapper);
                  StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
                  //key采用String的序列化方式
                  template.setKeySerializer(stringRedisSerializer);
                  // hash的key也采用String的序列化方式
                  template.setHashKeySerializer(stringRedisSerializer);
                  // value序列化方式采用jackson
                  template.setValueSerializer(jackson2JsonRedisSerializer);
                  // hash的value序列化方式采用jackson
                  template.setHashValueSerializer(jackson2JsonRedisSerializer);
                  template.afterPropertiesSet();
                  return template;
              }
          
          }
          

          4.测试Redis,并进行读写数据。

          @Service
          public class RedisOperator {
          
              @Autowired
              private RedisTemplate<String, Object> redisTemplate;
          
          
              /**
               * 普通缓存获取
               * @param key 键
               * @return 值
               */
              public Object get(String key){
                  return key==null?null:redisTemplate.opsForValue().get(key);
              }
          
              /**
               * 普通缓存放入
               * @param key 键
               * @param value 值
               * @return true成功 false失败
               */
              public boolean set(String key,Object value) {
                  try {
                      redisTemplate.opsForValue().set(key, value);
                      return true;
                  } catch (Exception e) {
                      e.printStackTrace();
                      return false;
                  }
              }
          
          } }
          }
          
          @RestController
          public class redisController {
          
              @Autowired
             private RedisOperator redisOperator;
          
             @GetMapping("/setKey")
              @ResponseBody
              public String setKey(String key, String value) {
                  redisOperator.set(key, value);
                  return "Succeed to write [" + key  + "=" + redisOperator.get(key) +"]";
              }
          
              @GetMapping("/getKey")
              @ResponseBody
              public String getKey(String key) {
                  return redisOperator.get(key) + "";
              }
          }
          
          测试:curl  {IP}:{PORT}/setKey?key=abc2&value=ccd3
          
          输出:Succeed to write [abc2=ccd3]
          

          Node.js Redis客户端

          使用Node.js Redis客户端连接Redis步骤如下:

          1.安装依赖:在 Node.js 项目中,首先需要安装 node_redis 模块。可以通过 npm 命令进行安装:

          npm install redis
          

          2.引入模块:在需要连接 Redis 的代码文件中,使用 require 方法引入 node_redis 模块。

          const redis = require('redis');
          

          3.创建 Redis 客户端实例:通过调用 redis.createClient() 方法创建 Redis 客户端实例。

          const client = redis.createClient();
          

          这将创建一个默认配置的 Redis 客户端实例,连接到本地的 Redis 服务器(默认端口为 6379)。

          如果需要指定 Redis 服务器的主机名和端口号,可以在 createClient() 方法中传递相应的参数:

          const client = redis.createClient({
            host: 'redis_ip',
            port: redis_port
          });
          

          4.执行 Redis 操作:通过调用 Redis 客户端实例的方法,可以执行各种 Redis 操作。以下是一些常见的操作示例:

          设置键值对:

          client.set('key', 'value', (err, result) => {
            if (err) {
              console.error(err);
            } else {
              console.log('Key-value pair has been set successfully');
            }
          });
          

          获取键值对:

          client.get('key', (err, result) => {
            if (err) {
              console.error(err);
            } else {
              console.log('Value:', result);
            }
          });
          

          可根据具体需求执行其他类型的 Redis 操作,如哈希表操作、列表操作、集合操作等。

          5.处理连接异常:在使用 Redis 客户端时,需要注意处理连接异常的情况。可以通过监听 error 事件来捕获连接错误和网络错误,并进行适当的处理。

          client.on('error', (err) => {
            console.error('Redis connection error:', err);
          });
          

          6.关闭连接:在使用完 Redis 客户端后,应该关闭与 Redis 服务器的连接,释放资源。

          client.quit((err) => {
            if (err) {
              console.error('Error while quitting Redis connection:', err);
            } else {
              console.log('Redis connection has been closed');
            }
          });
          

          可以通过调用 quit() 方法来关闭连接,并在回调函数中处理关闭连接的结果。

          以上是使用 Node.js 中的 node_redis 客户端连接 Redis 的基本操作步骤。根据实际需求,可以根据以上示例代码进行扩展和定制化开发。

          PHP Redis客户端

          使用PHP客户端连接Redis步骤如下:

          1.安装扩展:首先需要安装 phpredis 扩展。可以通过以下方式安装:

          • 使用 PECL 安装(需要先安装 PECL 工具):
          pecl install redis
          
          • 手动编译安装:

          • 下载 phpredis 源代码,解压源代码,并进入解压后的目录。执行以下命令进行编译和安装:

            phpize
            ./configure
            make
            sudo make install
            

            安装完成后,需要在 PHP 配置文件(如 php.ini)中启用 phpredis 扩展。在配置文件中添加以下行:

            extension=redis.so
            

          2.创建 Redis 客户端实例:在需要连接 Redis 的 PHP 文件中,使用 Redis 类创建 Redis 客户端实例。

          $client = new Redis();
          

          3.连接 Redis 服务器:通过调用 connect() 方法连接到 Redis 服务器。可以根据实际情况指定 Redis 服务器的主机名和端口号。

          $client->connect('redis_ip', redis_port);
          

          4.执行 Redis 操作:通过调用 Redis 客户端实例的方法,可以执行各种 Redis 操作。以下是一些常见的操作示例:

          设置键值对:

          $client->set('key', 'value');
          

          获取键值对:

          $value = $client->get('key');
          

          执行命令,可根据具体需求执行其他类型的 Redis 操作,如哈希表操作、列表操作、集合操作等。

          $result = $client->rawCommand('INFO');
          

          5.处理连接异常:在使用 Redis 客户端时,需要注意处理连接异常的情况。可以使用异常处理机制来捕获连接错误和网络错误,并进行适当的处理。

          try {
            // 执行 Redis 操作
          } catch (RedisException $e) {
            echo 'Redis connection error: ' . $e->getMessage();
          }
          

          6.关闭连接:在使用完 Redis 客户端后,应该关闭与 Redis 服务器的连接,释放资源。

          $client->close();
          

          以上是使用 PHP 中的 phpredis 扩展连接 Redis 的基本操作步骤。根据实际需求,可以根据以上示例代码进行扩展和定制化开发。请确保已正确安装并启用 phpredis 扩展,并在代码中适当处理连接异常和关闭连接。

          Go Redis客户端

          使用Go客户端连接Redis步骤如下:

          1.安装依赖:在使用 go-redis 之前,需要先安装官方提供的 Redis 客户端库。打开终端并执行以下命令来安装 go-redis 包:

          go get github.com/go-redis/redis/v8
          

          2.导入依赖包:在 Go 代码中导入 go-redis 包,以便使用其中的函数和类型。

          import "github.com/go-redis/redis/v8"
          

          3.创建 Redis 客户端实例:使用 redis.NewClient 函数创建 Redis 客户端实例。根据实际情况,修改 Addr 字段为 Redis 服务器的主机名和端口号。如果 Redis 服务器有密码,可以在 Password 字段中指定密码。

          client := redis.NewClient(&redis.Options{
              Addr:     "redis_ip:redis_port",
              Password: "", // 如果有密码,填写密码
              DB:       0,  // 选择数据库,默认为0
          })
          

          4.测试连接:使用 client.Ping() 函数测试与 Redis 服务器的连接是否成功。

          pong, err := client.Ping(context.Background()).Result()
          if err != nil {
              fmt.Println("Redis connection error:", err)
              return
          }
          fmt.Println("Redis ping response:", pong)
          

          5.执行 Redis 操作:通过调用 Redis 客户端实例的方法,可以执行各种 Redis 操作。以下是一些常见的操作示例:

          • 设置键值对:

            err := client.Set(context.Background(), "key", "value", 0).Err()
            if err != nil {
                fmt.Println("Set error:", err)
            }
            
          • 获取键值对:

            value, err := client.Get(context.Background(), "key").Result()
            if err != nil {
                fmt.Println("Get error:", err)
            } else {
                fmt.Println("Value:", value)
            }
            
          • 执行命令:

            result, err := client.Do(context.Background(), "INFO").Result()
            if err != nil {
                fmt.Println("Command error:", err)
            } else {
                fmt.Println("Command result:", result)
            }
            

            可根据具体需求执行其他类型的 Redis 操作,如哈希表操作、列表操作、集合操作等。

          1. 关闭连接:在使用完 Redis 客户端后,应该关闭与 Redis 服务器的连接,释放资源。
          err := client.Close()
          if err != nil {
              fmt.Println("Error closing connection:", err)
          }
          
          文档反馈

          建议您登录后反馈,可在建议与反馈里查看问题处理进度

          鼠标选中文档,精准反馈问题

          选中存在疑惑的内容,即可快速反馈问题,我们会跟进处理

          知道了

          上一篇 :  控制台连接Redis
          下一篇 :  公网连接Redis实例
          搜索 关闭
          ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
          公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
          备案 京公网安备11010802043424号 京ICP备 2021034386号
          ©2025天翼云科技有限公司版权所有
          京ICP备 2021034386号
          备案 京公网安备11010802043424号
          增值电信业务经营许可证A2.B1.B2-20090001
          用户协议 隐私政策 法律声明