Redis和RediSearch的安装及使用

1. 安装要求

  • ReadiSearch要求Redis的版本在6.0以上
  • RediSearch 要求使用 GNU Make 4.0 或更高版本

2. Redis的安装

查看redis的版本:

redis-server --version

或者,如果你已经启动了Redis服务器,你也可以使用redis-cli工具来获取版本信息:

redis-cli INFO SERVER | grep redis_version

2.1 有root权限

  • 下载并解压 Redis 源代码:
wget http://download.redis.io/releases/redis-6.0.5.tar.gz
tar xzf redis-6.0.5.tar.gz
cd redis-6.0.5
  • 编译和安装 Redis:
make
sudo make install
  • 启动 Redis 服务器:
redis-server

2.2 没有root权限

  • 下载 Redis 源代码:
wget http://download.redis.io/releases/redis-6.0.5.tar.gz
tar xzf redis-6.0.5.tar.gz
cd redis-6.0.5
  • 编译和安装 Redis:
make
make PREFIX=/path/to/installation/directory install

这里,/path/to/installation/directory 是你希望安装 Redis 的目录。确保你有在该目录中写权限。

  • 启动 Redis 服务器:
/path/to/installation/directory/src/redis-server

替换 /path/to/installation/directory 为你选择的 Redis 安装目录。

这样,你就能够以非 root 用户身份在指定目录中安装和运行 Redis。请注意,使用非 root 用户运行 Redis 有一些限制,比如不能使用低于 1024 的端口号,因为这些端口需要 root 权限。确保你遵循 Redis 的安全最佳实践,并根据实际需求进行配置。

如果你想要在非默认的端口上运行 Redis,可以使用 redis.conf 文件进行配置,指定非 root 用户可以访问的端口。

3. 安装 RedisSearch

  • 下载并解压 RedisSearch 源代码:
wget https://github.com/RediSearch/RediSearch/archive/v2.6.2.tar.gz
tar xzf v2.6.2.tar.gz
cd RediSearch-2.6.2  # 根据实际解压的目录名调整
  • 编译和安装 RedisSearch 源代码:
make
sudo make install
  • 加载 RedisSearch 模块:
redis-cli
127.0.0.1:6379> MODULE LOAD /path/to/redisearch.so

请将 /path/to/redisearch.so 替换为实际的路径。

-验证安装:
在 Redis CLI 中执行以下命令,如果 RedisSearch 安装成功,你将看到关于 RedisSearch 模块的信息:

127.0.0.1:6379> FT.INFO index_name

请将 index_name 替换为实际的索引名。

以上步骤是一般性的安装步骤,确保你的系统已经安装了构建工具(如 make),并具有运行 Redis 和 RedisSearch 的权限。

请注意,这只是一个示例,确保你的 Redis 版本和 RedisSearch 版本是兼容的,以避免不同版本之间的兼容性问题。

4. 安装 RediSearch可能会出现的问题

  • 没有安装git

确保你的系统上安装了 git,并且安装了编译工具(例如 make、gcc)。

在 Ubuntu 上可以使用以下命令安装:

sudo apt-get update
sudo apt-get install git build-essential
  • 没有安装RediSearch 的依赖项

在 RediSearch 源代码目录下,执行 make 之前,运行以下命令:

make deps

这将尝试下载和安装 RediSearch 的依赖项。如果有问题,它可能会输出一些错误信息,你需要解决这些错误。

如果是网络问题,可能需要手动将依赖项下载下来放到对应的文件夹里。

  • 检查 readies 子模块:

确保 readies 子模块已经被正确地初始化。在 RediSearch 源代码目录下运行:

git submodule update --init --recursive
  • 执行 make:
make
  • 执行 make test:
make test

这将运行测试来确保编译的 RediSearch 版本是正确的。

  • 执行 make install:
make install

这将安装 RediSearch。

如果在这些步骤中的任何一步出现错误,请仔细查看错误消息,可能会提供更多关于问题的线索。根据错误信息,你可能需要进一步解决缺失的依赖项或者设置环境变量。

5. 安装最新版本的 GNU Make

查看GNU Make的版本:

make -v
make --version

5.1 如果有root权限

  • 在 Ubuntu 上安装最新版本的 GNU Make:
sudo apt-get update
sudo apt-get install make
  • 在 CentOS/RHEL 上安装最新版本的 GNU Make:
sudo yum update
sudo yum install make
  • 在 macOS 上使用 Homebrew 安装最新版本的 GNU Make:
brew update
brew install make

5.2 没有root权限

通常情况下,你可以在没有 root 权限的情况下升级 GNU Make。这可以通过在用户的主目录或其他你有写权限的目录中安装新版本的 GNU Make 来实现。以下是一种常见的方法:

  • 下载最新版本的 GNU Make 源代码:
wget https://ftp.gnu.org/gnu/make/make-4.3.tar.gz

或者使用 curl:

curl -O https://ftp.gnu.org/gnu/make/make-4.3.tar.gz
  • 解压源代码:
tar xzf make-4.3.tar.gz
  • 进入解压后的目录:
cd make-4.3
  • 配置、编译和安装:
./configure --prefix=$HOME/make-4.3
make
make install

这里,–prefix=$HOME/make-4.3 指定了安装目录为用户主目录下的 make-4.3 目录。你可以根据需要选择其他目录。

  • 添加新版本的 GNU Make 到 PATH:

在你的 shell 配置文件(例如 .bashrc 或 .zshrc)中添加以下行:

export PATH=$HOME/make-4.3/bin:$PATH

然后运行 source ~/.bashrc 或 source ~/.zshrc 来使配置生效。

现在,你应该能够使用新版本的 GNU Make 了,而不需要 root 权限。确保在执行 make --version 时显示的版本是你刚刚安装的版本。

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

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

相关文章

Win10/11中VMware Workstation设置网络桥接模式

文章目录 一、添加VMware Bridge Protocol服务二、配置桥接参数1.启用系统Device Install Service服务2.配置VMware 需要确认物理网卡是否有添加VMware Bridge Protocol服务 添加VMware Bridge Protocol服务 提示:以下是本篇文章正文内容,下面案例可供参…

枚举类型有着一篇足以

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 1.关键字enum的定义 enum是C语言中的一个关键字,enum叫枚举数据类型&#…

helm 一键部署

helm HPA rancher 安全机制 k8s的核心功能:组件功能 k8s的网络 命令行基本的增删改查 deployment statefulsets 挂载卷:emptyDir, hostPath, nfs pv pvc 动态pvc必问 configmap ingress hpa pod 的自动伸缩 helm 什么是hel…

python opencv 图片缺陷检测(讲解直方图以及相关系数对比法)

一、利用直方图的方式进行批量的图片缺陷检测(方法简单) 二、步骤(完整代码见最后) 2.1灰度转换(将原图和要检测对比的图分开灰度化) 灰度化的作用是因为后面的直方图比较需要以像素256为基准进行相关性比…

Vue2中CesiumV1.113.0加载离线地图

Vue2中CesiumV1.113.0加载离线地图,本文以天地图为例。 1.使用nodejs获取天地图 新建nodejsdownmap项目文件夹,初始化项目 npm init -y src/index.js // An highlighted block var Bagpipe require(bagpipe) var fs require("fs"); var r…

2024.1.21周报

目录 摘要 ABSTRACT 一、文献阅读 一、题目 二、摘要 三、Introduction 四、模型 一、连续时间模型 二、离散时间模型 五、结论 二、实验代码 Navier–Stokes equation 总结 摘要 本周我阅读了一篇题目为Physics-informed neural networks: A deep learning fra…

快速傅立叶变换FFT学习笔记

什么是FFT? FFT(Fast Fourier Transformation) 是离散傅氏变换(DFT)的快速算法,即快速傅氏变换。FFT使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多&#x…

图像数据增广

目录 一、常用的图像增广方法 1、随机翻转 2、随机裁剪 3、随机颜色变换 二、图像代码实现 1、定义图像显示辅助函数 2、随机翻转 3、随机裁剪 4、随机颜色变换 5、结合多种图像增广方法 三、使用图像增广进行训练 1、下载数据集 2、读取图像并增广 3、多GPU训练 …

vue2面试题:对vue生命周期的理解

vue2面试题:对vue生命周期的理解 回答思路:生命周期是什么-->生命周期有哪些-->生命周期的总体流程-->数据请求在created和mouted的区别生命周期是什么生命周期有哪些生命周期的总体流程beforeCreate-->created:created:created-->before…

ctfshow-反序列化(web271-web276)

目录 web271 web272-273 web274 web275 web276 为什么不用分析具体为什么能成功 ,后面会有几个专题 会对php框架进行更深入的了解 这里面会专门的研究 为什么能够实现RCE 前面作为初步的熟悉 首先知道一下他的框架 知道框架的风格 知道啥版本可以用什么来打 首先先不用太研…

通用大模型研究重点之一:data embedding

研究背景 在过去的传统机器学习中,通常我们是直接处理同一类型的数字类型数据。随着深度学习发展,在图像,文本,语音领域分别取得了超越平均人类水平后,多模态数据的量随着互联网技术指数性增长,近两年自媒…

分布式 ID 的几种实现方式

随着互联网技术的快速发展,分布式系统在各个领域得到了广泛的应用。分布式 ID 是分布式系统中的一种重要概念,用于唯一标识系统中生成的各种数据。在分布式环境下,如何高效、可靠地生成分布式 ID 是一个具有挑战性的问题。本文将介绍几种常见…

2024最新软件测试面试题合集

1、前端和后端有什么区别 前端能够从 App 屏幕和浏览器上看到的东西。例如,你所看到的内容、按钮、图片,它们都属于前端。 后端就是那些你在屏幕上看不到但又被用来为前端提供支持的东西。网站的后端涉及搭建服务器、保存和获取数据,以及用于…

自定义注解与拦截器实现不规范sql拦截(自定义注解填充插件篇)

在自定义注解与拦截器实现不规范sql拦截(拦截器实现篇)中提到过,写了一个idea插件来辅助对Mapper接口中的方法添加自定义注解,这边记录一下插件的实现。 需求简介 在上一篇中,定义了一个自定义注解对需要经过where判…

[足式机器人]Part2 Dr. CAN学习笔记- Kalman Filter卡尔曼滤波器Ch05

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - Kalman Filter卡尔曼滤波器 Ch05 1. Recursive Algirithm 递归算法2. Data Fusion 数据融合Covarince Matrix协方差矩阵State Space状态空间方程 Observation观测器3. Step by step : Deriatio…

【Java】面向对象之继承超级详解!!

文章目录 前言一、继承1.1 继承的概念1.1.1继承的语法 1.2 父类成员访问1.2.1 子类中访问父类的成员变量1.子类和父类中没有同名的成员变量2.子类和父类中有同名的成员变量 1.2.2子类中访问父类的成员方法成员方法名不同成员方法名字相同 1.3 super关键字1.4 子类构造方法1.5 继…

Python零基础教程5.1——Python官方自带Turtle.demo

官方装13最为致命 牛!Python自带画图demo引言DEMO有什么?总结 牛!Python自带画图demo 引言 我的电脑不是换新了嘛 所以 不得不重新下载Python 这一下 不得了 我下载了Python3.11.7这个版本 然后按照惯例 打开IDEL 平平无奇 但 我一不小心…

html 中video实现切换视频自动播放

需求 vue2实现的网页中播放视频&#xff0c;主要代码如下&#xff1a; <video :src"question.videoPath" controls object-fit"contain"></video> 现在遇到的问题的&#xff0c;视频切换后要手动点击才能播放&#xff0c;是否可以实现切换视频…

特斯拉开年再降价,2024年的汽车市场还会好吗?

“等等派”再度胜利&#xff01;1月12日&#xff0c;特斯拉中国官宣Model 3和Model Y降价。其中&#xff0c;Model 3焕新版下降15500元&#xff0c;Model 3长续航焕新版下调11500元&#xff1b;特斯拉Model Y后轮驱动版售价下调7500元&#xff0c;特斯拉Model Y长续航版售价下调…

《GitHub Copilot 操作指南》课程介绍

第1节&#xff1a;GitHub Copilot 概述 一、什么是 GitHub Copilot 什么是 GitHub Copilot GitHub Copilot是GitHub与OpenAI合作开发的编程助手工具&#xff0c;利用机器学习模型生成代码建议。它集成在开发者的集成开发环境&#xff08;IDE&#xff09;中&#xff0c;可以根…