当前位置: 首页 > news >正文

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 时显示的版本是你刚刚安装的版本。

相关文章:

Redis和RediSearch的安装及使用

1. 安装要求 ReadiSearch要求Redis的版本在6.0以上RediSearch 要求使用 GNU Make 4.0 或更高版本 2. Redis的安装 查看redis的版本: redis-server --version或者,如果你已经启动了Redis服务器,你也可以使用redis-cli工具来获取版本信息&a…...

面向对象进阶--接口2

JDK8开始接口中新增的方法 接口中可以定义有方法体的方法(默认、静态)。 使用默认方法的作用:解决接口升级的问题。 接口中默认方法的定义格式: public default返回值类型 方法名(参数列表){} 接口中默…...

提升认知,推荐15个面向开发者的中文播客

前言 对于科技从业者而言,无论是自学成才的程序员,还是行业资深人士,终身学习是很有必要的,尤其是在这样一个技术快速迭代更新的时代。 作为一个摆脱了时间和空间限制的资讯分享平台,播客(Podcast&#x…...

数据分析-Pandas如何整合多张数据表

数据分析-Pandas如何整合多张数据表 数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中表格重整,重新调整,重塑数据表是很重要的技巧&#xff0c…...

配置redis挂载

1. 暂停和删除redis 2.创建文件夹 /usr/local/software/redis/6379/conf/ /usr/local/software/redis/6379/data/ 把redis-conf文件上传到conf文件夹中 3.配置网络 docker network create --driver bridge --subnet172.18.12.0/16 --gateway172.18.1.1 wn_docker_net 4.运…...

C++ 实现游戏(例如MC)键位显示

效果: 是不是有那味儿了? 显示AWSD,空格,Shift和左右键的按键情况以及左右键的CPS。 彩虹色轮廓,黑白填充。具有任务栏图标,可以随时关闭字体是Minecraft AE Pixel,如果你没有装(大…...

力扣hot100 合并两个有序链表 递归 双指针

Problem: 21. 合并两个有序链表 文章目录 💖 递归思路 💖 双指针 💖 递归 思路 👨‍🏫 参考地址 n , m n,m n,m 分别为 list1 和 list2 的元素个数 ⏰ 时间复杂度: O ( n m ) O(nm) O(nm) 🌎 空间复杂…...

10个常用python自动化脚本

大家好,Python凭借其简单和通用性,能够为解决每天重复同样的工作提供最佳方案。本文将探索10个Python脚本,这些脚本可以帮助自动化完成任务,提高工作效率。无论是开发者、数据分析师还是仅仅想简化工作流程的普通用户,…...

C++中函数的默认参数(缺省参数)

一、函数默认参数的概念 在函数声明时,预先对函数参数进行赋值,该参数即为函数的默认参数,也叫缺省参数。 如下函数func1包含默认参数,若调用函数func1时没有给函数传入实参,则默认实参为10086 void func1(int a 1…...

在线扒站网PHP源码-在线扒站工具网站源码

源码介绍 这是一款在线的网站模板下载程序,也就是我们常说的扒站工具,利用它我们可以很轻松的将别人的网站模板样式下载下来,这样就可以大大提高我们编写前端的速度了!注:扒取的任何站点不得用于商业、违法用途&#…...

vue+elementUI el-select 中 没有加clearable出现一个或者多个×清除图标问题

1、现象:下方截图多清除图标了 2、在全局common.scss文件中加一个下方的全局样式noClear 3、在多清除图标的组件上层div加noClear样式 4、清除图标去除成功...

【Python从入门到进阶】47、Scrapy Shell的了解与应用

接上篇《46、58同城Scrapy项目案例介绍》 上一篇我们学习了58同城的Scrapy项目案例,并结合实际再次了项目结构以及代码逻辑的用法。本篇我们来学习Scrapy的一个终端命令行工具Scrapy Shell,并了解它是如何帮助我们更好的调试爬虫程序的。 一、Scrapy Sh…...

【ARM 嵌入式 编译系列 2.2 -- GCC 编译参数学习 assembler-with-cpp 使用介绍】

请阅读【嵌入式开发学习必备专栏 之 ARM GCC 编译专栏】 文章目录 GCC 编译选项 assembler-with-cpp GCC 编译选项 assembler-with-cpp 在 rt-thread 的编译脚本中经常会看到下面编译参数: AFLAGS -c DEVICE -x assembler-with-cpp -Wa,-mimplicit-itthumb a…...

深入理解java对象的内存布局

概述: 在HotSpot虚拟机里,对象在堆内存中的存储布局可以划分为三个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。 在HotSpot虚拟机里,…...

MetaGPT中提到的SOP

MetaGPT框架中的提及的SOP概念指的是什么,有什么优点和缺点,为什么要使用SOP? 在MetaGPT框架中,SOP(Set of Procedures)指的是一套标准化的流程和步骤,用于指导模型完成特定任务。SOP可以帮助模型更好地理…...

第15届蓝桥杯嵌入式省赛准备第三天总结笔记(使用STM32cubeMX创建hal库工程+串口接收发送)

因为我是自己搞得板子,原本的下程序和串口1有问题,所以我用的是串口2,用的PA2和PA3 一,使用CubeMX配置串口 选择A开头的这个是异步通信。 配置串口参数,往届的题基本用的9600波特率,所以我这里设置为9600…...

centos安装redis,但是启动redis-server /home/redis/conf/redis7000.conf卡住,怎么解决

如果你在启动 Redis 服务器时发现过程卡住,这可能是由于几种不同的原因。下面是一些可能导致这种情况的原因以及相应的解决方法: 1. 后台启动 Redis 默认在前台运行。如果你在命令行启动 Redis 并且没有指定它在后台运行,它将在前台运行&am…...

开发实践6_project

要求: ① 页面写入超链接,获取所有数据item,显示在另一个页面,1min内,即使数据有变化,页面内容不变,1min后点击超链接可获取最新信息; ② 使用middleware完成用户请求路径判断 &am…...

HCIP----MGRE实验

实验要求: 第一步,基本的IP地址配置 R1: [R1]int g0/0/1 [R1-GigabitEthernet0/0/1]ip add 192.168.1.1 24 #配置PC的网关 [R1]int Serial 4/0/0 [R1-Serial4/0/0]link-protocol hdlc #R1和R2之间采用hdlc封装 [R1-S…...

STM32标准库开发——PWM驱动代码

PWM驱动初始化代码 使能定时器二时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);设置定时器时钟源 TIM_InternalClockConfig(TIM2);配置定时器二的时基单元 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; TIM_TimeBaseInitStruct.TIM_ClockDivisionTIM_CKD_D…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

【kafka】Golang实现分布式Masscan任务调度系统

要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

Spring Boot面试题精选汇总

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

蓝桥杯 冶炼金属

原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...