CentOS Linux操作系统源码安装最新Redis版本,使用JSON数据类型踩入新坑

news2024/11/24 20:06:37

最近有空查阅了redis官网,发现redis数据类型不止Strings、Lists、Sets、Hashes、Sorted sets,还多了几种,决定先试用下JSON数据类型

Redis官网数据类型截图

1、安装Redis软件

JSON数据类型,对Redis版本有要求,需要大于4.0版本。下图是华为云服务器,其默认yum源中Redis软件版本是3.2.12版本。所以采用yum方式不满足版本要求了。

在这里插入图片描述

注意:这里选择Redis源码安装

1.1、下载Redis源码

在这里插入图片描述
云服务器操作系统是CentOS Linux,就像人生一样,总是给我最难的选择,所以只能选择下图中的Source code方式。

在这里插入图片描述
这里采用wget方式直接把源码下载到服务器,也可以采用curl或者直接下载到个人电脑桌面再上传到华为云服务器。最后ll了下,确定Redis源码下载成功。
在这里插入图片描述

1.2、解压安装

Linux系统安装软件(程序、服务、环境,有各种说法,知道就那么回事就行),/usr/local目录是用户级程序目录,如果是redis,则在/usr/local新建一个redis目录存放redis;如果是java,则在/usr/local目录新建java目录存放java/usr/local/src目录一般是存放解压后的程序源码。

# 解压
tar -xzvf redis-stable.tar.gz -C /usr/local/src

# 进入目录
cd /usr/local/src/redis-stable/

# 执行make命令,如果无法执行make命令,那得yum -y install gcc gcc++
make

下图表示make执行成功:在这里插入图片描述
/usr/local目录下新建redis目录,存放安装后的redis程序

# 新建redis程序目录
mkdir /usr/local/redis

如下图,redis源码包里是没有configure文件,所以指定安装路径可以在执行make install的时候
在这里插入图片描述

# 执行安装

make install PREFIX=/usr/local/redis

出现下图,说明软件安装成功了。在这里插入图片描述

1.3 redis.conf配置处理

redis源码包里有一个叫redis.conf文件,这个是redis.conf对应版本的配置文件

软件安装成功后,我们一般在安装好的程序目录里存放对应的redis.conf配置文件。在/usr/local/redis目录下新建conf目录存放配置文件
在这里插入图片描述

提示:对redis配置文件可以进行各种实际配置,这里就不展开了解。daemonize yes守护进程方式启动。

1.4 编写redis.service文件

要是在Docker容器安装redis,这步不需要,因为Docker容器需要在前台运行一个进程,把redis服务启动即可,而且Docker不允许启动守护进程的程序服务。

# 切换目录

cd /etc/systemd/system

redis.service内容如下:

[root@hecs-141089 bin]# cat /etc/systemd/system/redis.service


[Unit]
Description=redis-server
After=network.target

[Service]
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
ExecReload=/usr/local/redis/bin/redis-server -s reload
ExecStop=/usr/local/redis/bin/redis-server -s stop
PrivateTmp=true
Type=forking

[Install]
WantedBy=multi-user.target
# 重新加载
systemctl daemo-reload

# 启动redis服务
systemctl start redis

出现下图,说明配置成功:
在这里插入图片描述

2、Redis环境变量配置

想使用Redis客户端,发现出现下图情况,redis-cli不是bash命令,无法使用。在这里插入图片描述
在Linux系统中,想让安装的程序变成可使用的命令。方式一:只需要把命令文件的目录加到PATH环境变量里去就可以;方式二:采用软链接到PATH目录。这里采用方式二。

# ln -s 源文件 目标文件

ln -s /usr/local/redis/bin/redis-cli /usr/local/bin/

在这里插入图片描述

新的问题

很开心的使用JSON数据类型的指令,很尴尬,发现命令不能使用。RedisJSON是以Redis模块的方式在Redis程序中出现,需要额外安装。
在这里插入图片描述
github上下载ReJSON源码:https://521github.com/RedisJSON/RedisJSON/releases

在这里插入图片描述

wget https://521github.com/extdomains/github.com/RedisJSON/RedisJSON/archive/refs/tags/v2.6.8.tar.gz

哎,看来进入一个新坑了…

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

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

相关文章

Transformer|1.4 CNN遇到的问题与窘境

文章目录 CNN遇到的问题与窘境transformer 的优势 CNN遇到的问题与窘境 判断一个人是否为美人,既要看她各个五官,也要看她各个五官占的比例和协调。 既要照顾好局部信息,也要照顾好全局信息。 局部信息用小的感受野进行感受,而全局…

【操作系统和计网从入门到深入】(六)进程间通信

前言 这个专栏其实是博主在复习操作系统和计算机网络时候的笔记,所以如果是博主比较熟悉的知识点,博主可能就直接跳过了,但是所有重要的知识点,在这个专栏里面都会提到!而且我也一定会保证这个专栏知识点的完整性&…

python算法与数据结构---单调栈与实践

单调栈 单调栈是一个栈,里面的元素的大小按照它们所在栈的位置,满足一定的单调性; 性质: 单调递减栈能找到左边第一个比当前元素大的元素;单调递增栈能找到左边第一个比当前元素小的元素; 应用场景 一般用…

19.云原生CICD之ArgoCD入门

云原生专栏大纲 文章目录 ArgoCDArgoCD 简介GitOps介绍Argo CD 的工作流程argocd和jinkens对比kustomize介绍ArgoCD和kustomize关系 安装argocdargocd控制台介绍首页应用创建表单SYNC OPTIONS(同步选项)SYNC POLICY(同步策略) 应…

视频异常检测论文笔记

看几篇中文的学习一下别人的思路 基于全局-局部自注意力网络的视频异常检测方法主要贡献:网络结构注意力模块结构: 融合自注意力和自编码器的视频异常检测主要贡献:网络结构Transformer模块动态图 融合门控自注意力机制的生成对抗网络视频异常…

Kafka框架详解

Kafka 1、Kafka介绍 ​ Kafka是最初由linkedin公司开发的,使用scala语言编写,kafka是一个分布式,分区的,多副本的,多订阅者的消息队列系统。 2、Kafka相比其他消息队列的优势 ​ 常见的消息队列:Rabbit…

【Docker篇】详细讲解容器相关命令

🎊专栏【Docker】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🛸容器🌹相关命令🍔案例⭐创建并运…

大模型微调实战笔记

大模型三要素 1.算法:模型结构,训练方法 2.数据:数据和模型效果之间的关系,token分词方法 3.算力:英伟达GPU,模型量化 基于大模型对话的系统架构 基于Lora的模型训练最好用,成本低好上手 提…

Mysql流程控制函数

1概述 Mysql中的流程控制函数非常重要,可以根据不同的条件,执行不同的流程转换,可以在SQL语句中实现不同的条件选择。MySQL中的流程处理函数主要包括IF()、IFNULL()和CASE()函数。 1.1 IF函数 SELECT IF(1 > 0, 正确, 错误);1.2 IFNULL…

ROS第 12 课 Launch 启动文件的使用方法

文章目录 第 12 课 Launch 启动文件的使用方法1.本节前言2.Lanuch 文件基本语法2.2 参数设置2.3 重映射嵌套 3.实操练习 第 12 课 Launch 启动文件的使用方法 1.本节前言 我们在前面的教程里面通过命令行来尝试运行新的节点。但随着创建越来越复杂的机器人系统中,打…

idea运行卡顿优化方案

文章目录 前言一、调整配置1. idea.properties2. idea.vmoptions3.heap size4.Plugins5.Inspections 总结 前言 本人电脑16G内存,处理器i7 10代,磁盘空间也够用,整体配置够用,但运行idea会很卡,记录优化过程&#xff…

【JavaEE】文件操作与IO

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…

vue3+vite:封装Svg组件

前言 在项目开发过程中,以svg图片引入时,会遇到当hover态时图片颜色修改的场景,我们可能需要去引入另一张不同颜色的svg图片,或者用css方式修改,为了方便这种情况,需要封装svg组件来自定义宽高和颜色&…

IaC基础设施即代码:Terraform 进行 lifecycle 生命周期管理

目录 一、实验 1.环境 2.Terraform 创建网络资源 3.Terraform 进行 create_before_destroy(销毁前创建新资源) 4.Terraform 进行 prevent_destroy(防止资源被销毁) 5.Terraform 进行 ignore_changes(忽略资源的差…

记录汇川:H5U与Factory IO测试15

主程序: 子程序: IO映射 子程序: 出料程序 子程序: 视觉判断 子程序: 自动程序 Factory IO配置: 实际动作如下: Factory IO测试15

【本科生机器学习】【北京航空航天大学】课题报告:支持向量机(Support Vector Machine, SVM)初步研究【上、原理部分】

说明: (1)、仅供个人学习使用; (2)、本科生学术水平有限,故不能保证全无科学性错误,本文仅作为该领域的学习参考。 一、课程总结 1、机器学习(Machine Learning, ML&am…

【Docker】安装 Nacos容器并根据Nginx实现负载均衡

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Docker实战》。🎯🎯 &…

Go使用记忆化搜索的套路【以20240121力扣每日一题为例】

题目 分析 这道题很明显记忆化搜索,用py很容易写出来 Python class Solution:def splitArray(self, nums: List[int], k: int) -> int:n len(nums)# 寻找分割子数组中和的最小的最大值s [0]for num in nums:s.append(s[-1] num)#print(s)cachedef dfs(cur,…

跟着pink老师前端入门教程-day07

去掉li前面的项目符号(小圆点) 语法:list-style: none; 十五、圆角边框 在CSS3中,新增了圆角边框样式,这样盒子就可以变成圆角 border-radius属性用于设置元素的外边框圆角 语法:border-radius:length…

1.11马原

同一性是事物存在和发展的前提,一方的发展以另一方的发展为条件 同一性使矛盾双方相互吸收有利于自身的因素,在相互作用中各自得到发展 是事物发展根本规律,唯物辩证法的实质和核心 揭示了事物普遍联系的根本内容和变化发展的内在动力 是贯…