当前位置: 首页 > 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…...

华为云AI开发平台ModelArts

华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

测试markdown--肇兴

day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...