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

最近有空查阅了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.mzph.cn/news/637473.shtml

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

相关文章

开源项目介绍

浙大高飞课题组 微分平坦 微分平坦的思想是:一个全维度的状态空间可以被一组低维的精心挑选的输出平坦空间(flat-output space)的变量及其导数的代数组合的方式所表示。由此,轨迹规划就可以在这组精心挑选的变量的空间所进行。 …

【C++提高编程(二)】

一、STL初识 1.1、STL的诞生 长久以来,软件界一直希望建立一种可重复利用的东西 C的面向对象和泛型编程思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作 为了建立数据结构和算法的一套标…

一文详解 Berachain 测试网:全面介绍与教程,bitget wallet教程

什么是Berachain? Berachain(web3.bitget.com/zh-CN/assets/berachain-wallet)是一种尖端区块链技术,使用 Cosmos SDK 构建的 Layer-1,兼容以太坊虚拟机(EVM)。它基于一种独特的概念&#xff0c…

【AI】人工智能和图像编码(2)

传统图像编解码与智能图像编解码,都是要编码和解码,但还是有一些区别的。 相关相同点和要点描述如下: 一、区别 1.1 技术原理 传统图像编解码:主要依赖于固定的算法和标准,如JPEG、MPEG等,进行图像的压…

[晓理紫]每日论文分享(有中文摘要,源码或项目地址)--机器人相关、强化学习

专属领域论文订阅 VX 扫吗关注{晓理紫|小李子},每日更新论文,如感兴趣,请转发给有需要的同学,谢谢支持 分类: 大语言模型LLM视觉模型VLM扩散模型视觉导航具身智能,机器人强化学习开放词汇,检测分割 [晓理紫…

LeetCode、2542. 最大子序列的分数【中等,排序+小顶堆】

文章目录 前言LeetCode、2542. 最大子序列的分数【中等,排序小顶堆】题目及类型思路及代码实现 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领…

2024最新AWVS/Acunetix Premium v24.1.24高级版漏洞扫描器Windows/Linux下载

前言 Acunetix Premium 是一种 Web 应用程序安全解决方案,用于管理多个网站、Web 应用程序和 API 的安全。集成功能允许您自动化 DevOps 和问题管理基础架构。 Acunetix Premium:全面的 Web 应用程序安全解决方案 Web 应用程序对于企业和组织与客户、合作…

算法练习-替换数字(思路+流程图+代码)

难度参考 难度:简单 分类:字符串 难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。以下内容均为个人笔记,旨在督促自己认真学习。 题目 给定一个字符串S,它包含小写字母和数字字符&#xff0…

设备巡检系统开发及部署

**凡尔码设备巡检系统**是一种低代码模块搭建设备管理系统平台;用户可通过平台开发好的组件像搭积木一般灵活搭建设备管理平台和无纸化应用场景。凡尔码平台功能组件:二维码管理、表单管理、流程管理、计划管理、权限管理、隐患管理、区域管理、记录管理…

数据结构之二叉树的性质与存储结构

数据结构之二叉树的性质与存储结构 1、二叉树的性质2、二叉树的存储结构 数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发,分析和研究计算机加工的数据的特性,…

【趣味题-03】20240120猴子吃桃( 从大到小insert ,列表元素互减)

背景需求: 猴子摘桃的题目 解决: 猴子吃桃 倍数问题 作者:阿夏 时间:2024年1月20日猴子吃桃问题-1 猴子第一天摘了许多桃子,第一天吃了一半,;第二天又吃了一半, 后面每天都是这样吃…

【Java】HttpServlet类简单方法和请求显示

1、HttpServlet类简介🍀 Servlet类中常见的三个类有:☑️HttpServlet类,☑️HttpServletRequest类,☑️HttpResponse类 🐬其中,HttpServlet首先必须读取Http请求的内容。Servlet容器负责创建HttpServlet对…

Deepin_Ubuntu_查看树形目录结构(tree)

Linux系统(Deepin、Ubuntu)中,可以使用tree命令来查看树形目录结构,下面是一些示例: 查看当前目录的树形结构: tree查看指定目录的树形结构,例如/etc/X11/fonts目录: tree /etc/X…

CentOS 7安装Java并配置环境

一、安装Java环境 1、检查系统是否安装Java [rootlocalhost ~]# java -version 2、更新系统软件包 [rootlocalhost ~]# yum update #遇到[y/n],选择y并回车,耐心等待下载完毕,之后系统会自动检验更新的软件包遇到 /var/run/yum.pid 已被锁定 /var/…

【Go面试向】实现map稳定的有序遍历的方式

问题 大家好 我是寸铁👊 总结了一篇实现map稳定的有序遍历的方式探讨的文章✨ 喜欢的小伙伴可以点点关注 💝 你对 map 了解多少?如果要实现第一个稳定的有序遍历有哪些方式? 回答 你对 map 了解多少? 我对map有一定的…

Centos7 如何设置开机启动某个程序

以设置自动启动sentinel-dashboard作为案例 要在CentOS 7上设置开机启动一个Java程序,你可以按照以下步骤进行操作: 1. 进入应用程序的目录 cd /usr/localvim sentinel-dashboard.sh 2. 在sentinel-dashboard.sh 文件中 输入启动脚本 nohup java -D…

『C++成长记』模板

🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、泛型编程 二、函数模板 📒2.1函数模板概念 📒2.2函数…

[设计模式Java实现附plantuml源码~创建型] 多态工厂的实现——工厂方法模式

前言: 为什么之前写过Golang 版的设计模式,还在重新写Java 版? 答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。 为什么类图要附上uml 因为很…

双指针算法专题

前言 双指针算法入门,干就完了 下面的题目都是来自灵神的基础算法精讲,有思路不清晰的地方,可以去看讲解。 灵茶山艾府的个人空间-灵茶山艾府个人主页-哔哩哔哩视频 (bilibili.com) 相向双指针 1.两数之和 题目链接:167. 两数之…

EasyRecovery2024电脑数据恢复工具好不好用?

Ontrack是我们综述中的第一个产品,由于该软件的功效和广度,我认为它完全基于业务。有一个具有基本功能的免费版本和一系列付费版本,不仅可以恢复文件(免费版和家庭版),还可以创建磁盘映像/从 CD 和 DVD 恢复…