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如何整合多张数据表 数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中表格重整,重新调整,重塑数据表是很重要的技巧,…...
配置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…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...
