Redis集群技术2——redis基础

news2024/11/15 18:30:24

Redis安装

在这里插入图片描述

Redis 的安装相对简单,无论是 Windows、Linux 还是 macOS 系统,都有相应的安装方法。以下是针对不同操作系统的 Redis 安装简述。

1. Linux 系统安装 Redis

在 Linux 系统中安装 Redis 通常有多种方式,这里以 Ubuntu 和 CentOS 为例进行说明。

Ubuntu 上安装 Redis
  1. 使用软件包管理器安装

    • 打开终端。
    • 更新软件包索引:
       apt update
      
    • 安装 Redis:
       apt install redis-server
      
  2. 从源代码编译安装

    • 下载 Redis 源码:
      wget https://github.com/redis/redis/archive/6.0.9.tar.gz
      tar xzf 6.0.9.tar.gz
      cd redis-6.0.9
      
    • 编译安装:
      make
      sudo make install
      
CentOS 上安装 Redis
  1. 使用 yum 安装

    • 打开终端。
    • 安装 Redis:
       yum install redis
      
  2. 从源代码编译安装
    下载 Redis 源码:

    wget https://github.com/redis/redis/archive/6.0.9.tar.gz
    tar xzf 6.0.9.tar.gz
    cd redis-6.0.9
    

    安装编译工具

    dnf install make gcc initscripts-10.11.6-
    1.el9.x86_64 -y
    

    执行编译命令

    make
    make install
    

    启动redis

       [root@redis-node1 redis-7.4.0]# cd utils/
       [root@redis-node1 utils]# ./install_server.sh
        Welcome to the redis service installer
    	This script will help you easily set up a running redis 	server
    	This systems seems to use systemd. #提示系统使用的是systemd的初始化方式
    	Please take a look at the provided example service 	unit files in this directory,
    	and adapt and install them. Sorry!
    

    部分情况下可能出现因为系统systemd的初始化方式导致错误

    vim install_server.sh
    #bail if this system is managed by systemd
    #_pid_1_exe="$(readlink -f /proc/1/exe)"
    #if [ "${_pid_1_exe##*/}" = systemd ]
    #tnen
    # echo "This systems seems to use systemd."
    # echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
    # exit 1
    #fi
    
    
    
    
    
    
    

    执行初始化

    ./install_server.sh
    

2. Windows 系统安装 Redis

在 Windows 系统中安装 Redis 通常有两种方式:

使用 Redis for Windows 安装
  1. 下载 Redis for Windows
    • 访问 Redis 官方网站的 Windows 版本页面:https://github.com/MicrosoftArchive/redis/releases
    • 下载最新版本的 Redis for Windows 安装包。
    • 运行安装包进行安装。
从源代码编译安装
  1. 下载 Redis 源码
    • 访问 Redis 官方 GitHub 页面:https://github.com/redis/redis/releases
    • 下载最新版本的源码包。
    • 解压源码包。
    • 使用 CMake 或者 Visual Studio 进行编译安装。

3. 启动 Redis 服务

无论在哪种操作系统上安装了 Redis,启动 Redis 服务的方法基本相同。

启动 Redis 服务
  1. 启动 Redis 服务
    • 打开终端。
    • 进入 Redis 安装目录。
    • 运行以下命令启动 Redis 服务:
      redis-server
      
配置 Redis 服务
  • 编辑配置文件
    • 默认情况下,Redis 的配置文件名为 redis.conf,通常位于 Redis 安装目录下。
    • 可以编辑该文件来配置 Redis 的各种参数,如端口号、持久化设置等。

5. 测试 Redis 服务

确保 Redis 服务启动成功后,可以通过 Redis 客户端测试连接和基本操作。

测试 Redis 服务
  1. 启动 Redis 客户端

    • 打开终端。
    • 运行以下命令启动 Redis 客户端:
      redis-cli
      
  2. 执行基本操作

    • 在 Redis 客户端中执行一些基本命令,如设置键值对、获取值等:
      set mykey "Hello Redis"
      get mykey
      

6. 其他注意事项

  • 安全设置
    • Redis 默认监听在本地回环接口(127.0.0.1),确保在生产环境中适当配置防火墙和访问控制。
  • 持久化设置
    • 根据需求配置 Redis 的持久化方式,如 RDB 或 AOF。
  • 集群模式
    • 对于需要高可用性和负载均衡的场景,可以考虑使用 Redis 集群模式。
  • 监控和日志
    • 设置适当的监控和日志记录机制,以便跟踪 Redis 的运行状态和问题排查。

Redis基本操作

Redis 提供了一系列基本操作,用于管理键值对数据。这些操作涵盖了数据的增删改查以及一些高级功能。

1. 基本数据类型操作

String 类型
  • 设置键值对

    SET key value
    

    示例:

    SET mykey "Hello Redis"
    
  • 获取键值

    GET key
    

    示例:

    GET mykey
    
  • 追加字符串

    APPEND key value
    

    示例:

    APPEND mykey " World"
    
  • 字符串长度

    STRLEN key
    

    示例:

    STRLEN mykey
    
Hash 类型
  • 设置哈希字段

    HSET key field value
    

    示例:

    HSET user:1 name "Alice"
    
  • 获取哈希字段

    HGET key field
    

    示例:

    HGET user:1 name
    
  • 获取所有哈希字段

    HGETALL key
    

    示例:

    HGETALL user:1
    
  • 删除哈希字段

    HDEL key field
    

    示例:

    HDEL user:1 name
    
List 类型
  • 向列表尾部添加元素

    RPUSH key element [element ...]
    

    示例:

    RPUSH messages "message1" "message2"
    
  • 从列表头部获取元素

    LPOP key
    

    示例:

    LPOP messages
    
  • 获取列表长度

    LLEN key
    

    示例:

    LLEN messages
    
Set 类型
  • 向集合添加元素

    SADD key member [member ...]
    

    示例:

    SADD fruits apple banana
    
  • 获取集合元素

    SMEMBERS key
    

    示例:

    SMEMBERS fruits
    
  • 判断元素是否在集合中

    SISMEMBER key member
    

    示例:

    SISMEMBER fruits apple
    
  • 删除集合中的元素

    SREM key member [member ...]
    

    示例:

    SREM fruits apple
    
Sorted Set 类型
  • 向有序集合添加元素

    ZADD key score member [score member ...]
    

    示例:

    ZADD scores 10 alice 20 bob
    
  • 获取有序集合的范围

    ZRANGE key start stop [WITHSCORES]
    

    示例:

    ZRANGE scores 0 -1 WITHSCORES
    
  • 获取有序集合的分数

    ZSCORE key member
    

    示例:

    ZSCORE scores alice
    
  • 删除有序集合中的元素

    ZREM key member [member ...]
    

    示例:

    ZREM scores alice
    

2. 键管理操作

  • 设置键的过期时间

    EXPIRE key seconds
    

    示例:

    EXPIRE mykey 60
    
  • 获取键的剩余生存时间

    TTL key
    

    示例:

    TTL mykey
    
  • 删除键

    DEL key [key ...]
    

    示例:

    DEL mykey
    
  • 检查键是否存在

    EXISTS key
    

    示例:

    EXISTS mykey
    
  • 获取键的数量

    KEYS pattern
    

    示例:

    KEYS user*:*
    

3. 事务

  • 开始事务
    MULTI
    
    示例:
    MULTI
    SET key1 value1
    SET key2 value2
    EXEC
    

4. 其他常用操作

  • 字符串操作

    • 字符串拼接
      APPEND key value
      
    • 字符串截取
      GETRANGE key start end
      
  • 哈希表操作

    • 获取所有哈希字段
      HGETALL key
      
    • 获取所有字段名称
      HKEYS key
      
    • 获取所有字段值
      HVALS key
      
  • 列表操作

    • 向列表头部添加元素
      LPUSH key element [element ...]
      
    • 获取列表指定范围的元素
      LRANGE key start stop
      
  • 集合操作

    • 获取两个集合的交集
      SINTER key [key ...]
      
    • 获取两个集合的并集
      SUNION key [key ...]
      
  • 有序集合操作

    • 获取有序集合的排名
      ZRANK key member
      

5. 高级操作

  • 事务

    • 执行事务
      EXEC
      
  • 发布/订阅

    • 发布消息
      PUBLISH channel message
      
    • 订阅频道
      SUBSCRIBE channel
      
  • 管道

    • 使用管道执行多个命令
      MULTI
      COMMAND1
      COMMAND2
      EXEC
      

6. 其他注意事项

  • 错误处理

    • 当执行命令时发生错误,Redis 会返回一个错误消息。例如:
      SET key1
      (error) ERR wrong number of arguments for 'set' command
      
  • 性能优化

    • 通过合理设置键的过期时间、使用正确的数据结构等方式优化 Redis 的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2108895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

配置阿里云千问大模型--环境变量dashscope

1 开通百炼 首先要进入到阿里云平台,然后进入百炼平台。 2 获取API-KEY 进入之后再右上角可以查看到自己的API-KEY,这个东西就是需要配置在环境变量里的。 点击查看就可以获取 3 配置DASHSCOPE环境变量 如果使用dashscope来进行千问大模型的API对…

速度滞后补偿控制

这里介绍的速度滞后补偿控制和我们前面介绍的前馈控制有所区别,前馈控制的前提是能够获取位置参考指令的速度或加速度信号。在无法获取位置参考指令的上述性息的前提下,我们可以采用速度滞后补偿控制提高机电伺服控制系统动态跟踪精度。前馈控制的一些基…

2024社区版IDEA springboot日志输出颜色

IDEA版本:IntelliJ IDEA 2024.1.4 (Community Edition) 1、纯白色终端 2、彩色终端 3、配置过程 1、打开配置 2、选择启动类 3、点击修改选项,勾选虚拟机选项 4、在虚拟机选项框输入以下代码 -Dspring.output.ansi.enabledALWAYS5、应用确定&#xff0…

NLP从零开始------18.文本中阶处理之序列到序列模型(3)

4.3 其他解码问题和解码技巧 贪心解码和束解码只是最基础的解码方法,其解码结果会出现许多问题。这里主要介绍3种常见问题,并简单介绍解决方案。 4.3.1 重复性问题 有时我们会发现序列到序列模型不断重复的输出同一个词。一个解决方案是解码时在所预测的…

GateWay三大案例组件

一、局部过滤器接口耗时(LogTime) 命名规则:以GatewayFilterFactory结尾编写接口耗时过滤器 Slf4j Component public class LogTimeGatewayFilterFactory extends AbstractNameValueGatewayFilterFactory {private static long timeSpan 0…

ruoyi-vue-pro快速修改的包名和选配功能板块

使用KIT进行构建 KIT是一个专门构建框架的网站,ruoyi-vue-pro也发布至KIT了,所以我们可以通过KIT快速的选配功能和修改报名等操作。 构建地址:http://www.goldpankit.com/space/service/install?space%E8%8A%8B%E9%81%93%E6%BA%90%E7%A0%8…

AI建模——AI生成3D内容算法产品介绍与模型免费下载

说明: 记录AI文生3D模型、图生3D模型的相关产品;记录其性能、功能、收费与免费方法 0.AI建模产品 Rodin MeshAnything Meshy 生成效果比较: Rodin效果最好、Meshy其次 1.Rodin 官网:gHyperHuman 支持:文生模型、…

TextIn ParseX:助力开发者解析版面元素信息

TextIn ParseX通用文档解析是一款大模型友好的解析工具,支持将pdf文档、jpg、img图像等文件快速转换为markdown格式,支持各类表格、公式解析,帮助大语言模型的数据清洗和文档问答任务。 产品特点 支持多种扫描内容:能良好处理各类…

[数据集][目标检测]西红柿缺陷检测数据集VOC+YOLO格式17318张3类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):17318 标注数量(xml文件个数):17318 标注数量(txt文件个数):17318 标…

ORA-24067: exceeded maximum number of subscribers for queue ADMIN.SMS_MT_QUEUE

临时处理办法: delete from aq$_ss_MT_tab_D; delete from aq$_ss_MT_tab_g; delete from aq$_ss_MT_tab_h; delete from aq$_ss_MT_tab_i; delete from aq$_ss_MT_tab_p; delete from aq$_ss_MT_tab_s; delete from aq$_ss_MT_tab_t; commit; 根本处理办法&#x…

IIS 反向代理模块: URL Rewrite 和 Application Request Routing (ARR)

需要设置iis反向代理的场景其实挺多的。例如websocket、Server Sent Events(SSE) 都需要反向代理。 对于需要临时放公网访问的应用,直接运行127.0.0.1的开发环境,然后通过反向代理访问127.0.0.1就可以了,省去麻烦的iis设置。 IIS 实现反向代…

学习记录:js算法(二十五):合并两个有序链表

文章目录 合并两个有序链表我的思路网上思路 总结 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 图一 示例 1:(如图一) 输入:l1 [1,2,4], l2 [1,3,4] …

解决职业摔跤手分类问题的算法与实现

解决职业摔跤手分类问题的算法与实现 引言问题定义算法设计二分图判定算法步骤伪代码C语言实现引言 在职业摔跤界,摔跤手通常被分为“娃娃脸”(“好人”)型和“高跟鞋”(“坏人”)型。在任意一对摔跤手之间,都有可能存在竞争关系。本文的目标是设计一个算法,用于判断是…

优化采样参数提升大语言模型响应质量:深入分析温度、top_p、top_k和min_p的随机解码策略

当向大语言模型(LLM)提出查询时,模型会为其词汇表中的每个可能标记输出概率值。从这个概率分布中采样一个标记后,我们可以将该标记附加到输入提示中,使LLM能够继续输出下一个标记的概率。这个采样过程可以通过诸如 temperature和 top_p等参…

openSUSE变更默认编译器

Debian很稳定,但是必须要添加unstable源才能安装一些需要更新的软件,比如说稳定版的firefox是ESR版的,必须要从unstable源才能安装新版。但是unstable源是把所有的软件包都放在里面,操作过程中一旦不小心把核心组件更新到unstable…

使用 RabbitMQ 和 Go 构建异步订单处理系统

使用 RabbitMQ 和 Go 构建异步订单处理系统 我们可以通过构建一个订单处理系统来演示如何使用消息队列(MQ)实现异步任务处理。这个项目将使用 RabbitMQ 作为消息队列,并使用 Go 语言来实现。以下是项目的详细教程和相关环境配置。 项目描述…

uniapp+vue3实现双通道透明MP4播放支持小程序和h5

双通道透明MP4视频播放的截图 以下是合成后结果,二个合并在一起进行播放 下载资源,打开运行直接使用看到效果 https://download.csdn.net/download/qq_40039641/89715780

[iBOT] Image BERT Pre-Training with Online Tokenizer

1、目的 探索visual tokenizer编码下的MIM(Masked Image Modeling) 2、方法 iBOT(image BERT pre-training with Online Tokenizer) 1)knowledge distillation(KD) distill knowledge from the…

六、桥接模式

桥接模式(Bridge Pattern)是一种结构型设计模式,旨在将抽象与实现分离,使得两者可以独立变化。通过使用桥接模式,可以避免在多个维度上进行继承,降低代码的复杂度,从而提高系统的可扩展性。 组成…

c# Csv文件读写示例,如果文件存在追加写入

功能 1.写入 2.读取 导出文件效果 调用示例 注意示例中的ToDataTable()方法是自己的封装的扩展方法&#xff0c;源码在集合扩展方法-CSDN博客 private List<MarkDataModel> createMarkDataList(int count){var markDataModels new List<MarkDataModel>();for (…