麒麟系统—— openKylin 安装 redis

麒麟系统—— openKylin 安装 redis

  • 一、准备工作
    • 1. 确保麒麟系统 openKylin 已经安装完毕。
  • 二、下载安装文件
  • 三、解压安装
    • 解压
    • 安装
  • 四、配置与运行
    • 修改配置文件
    • 以配置文件运行
  • 五、加入到服务中
  • 最终:介绍配置的其他参数使用


Redis是一种开源的、基于内存的高速缓存数据库,适用于需要高性能、高并发处理的场景。本文将分享如何在麒麟系统下的openKylin上安装Redis,并简要说明Redis的基本配置和使用方法

一、准备工作

1. 确保麒麟系统 openKylin 已经安装完毕。

我这里使用的鸿蒙系统是 :openKylin 1.0.1 X86

二、下载安装文件

访问下面网址,安装需要的版本,我这里选择的版本是 redis-5.0.7.tar.gz

http://download.redis.io/releases/

下载完成后拖到目录 /home/redis

如果系统能直接联网,也可以这样下载:

mkdir /home/redis
cd /home/redis
wget http://download.redis.io/releases/redis-5.0.7.tar.gz

  • wget: 这是一个在命令行中使用的工具,用于从网络上下载文件。它是一个非常常见的下载工具,特别是在Linux和类Unix系统中。

  • http://download.redis.io/releases/redis-5.0.7.tar.gz: 这是要下载的文件的URL。在这个例子中,它指向了Redis数据库的一个特定版本(5.0.7)的压缩文件(.tar.gz格式)。http://download.redis.io/releases/是基础URL,后面跟着具体的文件名。

在这里插入图片描述

三、解压安装

解压

sudo tar -zxvf redis-5.0.7.tar.gz
cd redis-5.0.7
  • sudo: 以超级用户(管理员)权限运行命令。这通常用于执行需要特殊权限的操作,比如安装软件或修改系统文件。

  • tar: 是一个用于处理归档文件的命令行工具。在这里,它用于解压缩文件。

  • -zxvf: 这是tar命令的选项集,具体含义如下:

    • -z: 通过gzip解压缩。
    • -x: 表示提取文件。
    • -v: 在屏幕上显示详细信息,以便用户能够看到正在进行的操作。
    • -f: 后面紧跟着要操作的文件名,这里是 “redis-5.0.7.tar.gz”。

安装

make
sudo make install

  1. make: make 命令是一个构建工具,用于根据源代码中的 Makefile 文件来编译程序。Makefile 包含了一系列指令,告诉系统如何编译和链接源代码,生成可执行文件或库文件。

    当运行 make 命令时,它会查找当前目录下的 Makefile 文件,并执行其中定义的编译过程。这个过程可能包括编译源代码、链接目标文件,生成最终的可执行文件或库。

  2. sudo make install: 一旦 make 编译成功,sudo make install 用于将编译好的程序或库安装到系统中。make install 命令通常会将生成的可执行文件、库文件以及其他必要的资源复制到系统的标准目录,使得可以在系统中全局访问这个软件。
    在这里插入图片描述

四、配置与运行

修改配置文件

sudo vim /etc/redis.conf

限制 ip 访问

bind 127.0.0.1
port 6379
  1. bind 127.0.0.1:

    • 这个配置项指定了 Redis 服务器绑定的网络接口地址。在这里,它设置为 127.0.0.1,表示 Redis 只接受来自本地主机(localhost)的连接。
    • 如果希望 Redis 可以从网络上的其他主机访问,可以将这个值改为服务器的公共 IP 地址或 0.0.0.0,表示监听所有可用的网络接口。
  2. port 6379:

    • 这个配置项指定了 Redis 服务器监听的端口号。在这里,它设置为 6379,是 Redis 默认的端口号。
    • 如果需要使用不同的端口,可以修改这个值。确保选择一个未被占用的端口,并在连接到 Redis 时使用相应的端口号。

由于我的麒麟系统是用作服务器,所以我这里使用的配置是

bind 0.0.0.0
port 6379

在这里插入图片描述
在这里插入图片描述

以配置文件运行

redis-server /etc/redis.conf

  • redis-server: 这是 Redis 服务器的可执行文件,用于启动 Redis 服务。
  • /etc/redis.conf: 这是 Redis 的配置文件的路径。配置文件包含了一系列的参数和选项,用于配置 Redis 服务器的行为。在这里,命令指定使用 /etc/redis.conf 文件中的配置信息(也就是刚刚输入的绑定IP和端口)。

在这里插入图片描述
完美运行!

接下来用工具连接一下

在这里插入图片描述

也没有问题

五、加入到服务中

sudo vim /etc/systemd/system/redis.service
[Unit]
Description=Redis Database
After=network.target

[Service]
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
User=root
Restart=always

[Install]
WantedBy=multi-user.target

  1. [Unit] 部分:

    • Description=Redis Database: 提供了对这个单元的简短描述,说明这是一个 Redis 数据库服务。
    • After=network.target: 表示该服务应该在网络服务启动后启动。network.target 是一个系统级别的 Systemd 单元,表示网络已经准备好。
  2. [Service] 部分:

    • ExecStart=/usr/local/bin/redis-server /etc/redis.conf: 指定了启动服务时执行的命令。在这里,它启动了 Redis 服务器,使用了 /etc/redis.conf 配置文件。
    • User=root: 设置服务运行的用户为 root 用户。
    • Restart=always: 配置在服务退出时自动重启。这有助于确保 Redis 始终在运行状态。

在这里插入图片描述

sudo systemctl enable redis
sudo systemctl start redis

这两个命令的组合实现了以下操作:

  • sudo systemctl enable redis: 设置 Redis 服务为系统引导时自动启动。
  • sudo systemctl start redis: 立即启动 Redis 服务。
  1. sudo systemctl enable redis:

    • systemctl 是 Linux 系统中用于控制 systemd 服务的命令。
    • enable 参数告诉 systemd 在系统启动时自动启用 redis 服务。这样,Redis 将成为系统引导时自动启动的服务。
  2. sudo systemctl start redis:

    • start 参数告诉 systemd 立即启动 redis 服务。这样,Redis 会立即开始运行。

在这里插入图片描述

sudo systemctl status redis
  • sudo: 以超级用户(管理员)权限运行命令。
  • systemctl: Linux 中用于管理 systemd 服务的命令。
  • status: 用于获取服务的当前状态。

执行这个命令后,系统会显示 redis 服务的当前状态信息,包括是否正在运行、运行时的进程 ID、启动时间等。

在这里插入图片描述

最终:介绍配置的其他参数使用

Redis 的配置文件 redis.conf 包含了大量的配置参数,每个参数都影响着 Redis 服务器的行为。

配置项描述
daemonize启用后台模式,将 Redis 作为守护进程运行。
port指定 Redis 服务器监听的端口号。
bind指定 Redis 服务器绑定的网络接口地址。默认是 127.0.0.1,表示只监听本地主机。
timeout客户端闲置超时时间,单位为秒。如果一个连接在指定时间内没有进行任何操作,连接将被关闭。
loglevel指定日志记录级别,可以是 debug, verbose, notice, warning
logfile指定日志文件路径。
databases指定 Redis 实例中数据库的数量。
save配置持久化快照的条件。可以设置多个条件,每个条件包括时间和修改的键数。
rdbcompression启用或禁用 RDB 文件的压缩。
requirepass设置 Redis 连接密码。
maxclients允许的最大客户端连接数。
maxmemory设置 Redis 实例的最大内存限制。可以使用不同的策略来处理超过限制的数据,比如 LRU、LFU 等。
appendonly启用或禁用 AOF(Append Only File)持久化模式。
appendfilenameAOF 持久化文件的名称。
appendfsync配置 AOF 文件的同步策略,可以是 always, everysec, 或 no
vm-enabled启用或禁用虚拟内存。
vm-max-memory设置虚拟内存使用的最大内存量。
vm-page-size设置虚拟内存分页的大小。

以上只是 Redis 配置文件中的一小部分参数,实际上还有很多其他参数,每个参数都有其特定的作用。要详细了解所有参数及其含义,最好参考 Redis 官方文档

https://redis.io/docs/management/config-file/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL原理(一)架构组成(2)逻辑模块组成

总的来说,MySQL可以看成是二层架构,第一层我们通常叫做SQL Layer,在MySQL数据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断,sql解析,执行计划优化,query cache的处理等等&…

Vue之初识Vue CLI 脚手架

Vue CLI 是Vue 官方提供的一个全局命令工具 可以帮助我们快速创建一个开发Vue项目的标准化基础架子。【集成了webpack配置】 脚手架有什么好处? 1.开箱即用,零配置 2.内置 babel 等工具 3.标准化 使用步骤: 1.全局安装(一次):yarn globaladd vue/cli …

私有化部署pdf工具箱

功能简介 用于合并/拆分/旋转/移动PDF及其页面的完全交互式GUI。 将多个 PDF 合并到一个生成的文件中。 将 PDF 拆分为多个文件,并按指定的页码或将所有页面提取为单个文件。 将 PDF 页面重新组织为不同的顺序。 以 90 度为增量旋转 PDF。 删除页面。 多页布局…

STM32学习笔记一——初识STM32

目录 一、什么是ARM 二. Cortex 内核 三.什么是STM32 四.STM32核心板原理图: 五.STM32的内部结构: 六.stm32系统结构简化图 STM32基本原理分析: 七.典型型号——STM32F103ZET6 stm32——32位单片机(数据总线是32位的&am…

文献速递:人工智能医学影像分割--- 深度学习分割骨盆骨骼:大规模CT数据集和基线模型

文献速递:人工智能医学影像分割— 深度学习分割骨盆骨骼:大规模CT数据集和基线模型 我们为大家带来人工智能技术在医学影像分割上的应用文献。 人工智能在医学影像分析中发挥着至关重要的作用,尤其体现在图像分割技术上。这项技术的目的是准…

Flask 入门

1. 关于 Flask Flask诞生于2010年, Armin Ronacher的一个愚人节玩笑。不过现在已经是一个用python语言基于Werkzeug工具箱编写的轻量级web开发框架,它主要面向需求简单,项目周期短的小应用。 Flask本身相当于一个内核,其他几乎所…

前端大屏展示可视化——地图的绘制(持续更新)

一、ECharts 1、安装 npm install echarts2、引入 import * as echarts from echarts;3、渲染 3.1、前期准备,基础配置 // 地图实例 const myChart ref(null); // 地图配置 const option reactive({tooltip: {trigger: item,formatter: function (params) {re…

WebSocket 整合 记录用法

WebSocket 介绍 WebSocket 是基于tcp的一种新的网络协议,可以让浏览器 和 服务器进行通信,然后区别于http需要三次握手,websocket只用一次握手,就可以创建持久性的连接,并进行双向数据传输 Http和WebSocket的区别 Http是短连接,WebSocket’是长连接Http通信是单向的,基于请求…

第十一篇【传奇开心果系列】BeeWare的Toga开发移动应用示例:Briefcase和Toga 哥俩好

传奇开心果博文系列 系列博文目录BeeWare的Toga开发移动应用示例系列博文目录一、前言二、Briefcase和toga各自的主要功能分别介绍三、使用Toga 开发移动应用Briefcase工具是最佳拍档四、Briefcase搭档Toga创建打包发布联系人移动应用示例代码五、运行测试打包发布六、归纳总结…

OCP NVME SSD规范解读-8.SMART日志要求-1

4.8.5章节SMART / Health Information Requirements详细规定了NVMe固态硬盘对SMART(Self-Monitoring, Analysis and Reporting Technology)和健康信息日志页面的支持要求,以确保设备能够准确报告其运行状态和预测潜在故障。 SLOG-1&#xff1…

使用Docker安装Jenkins,并能够在该Jenkins中使用Docker

1. 构建Dockerfile 试错1 参考https://medium.com/manav503/how-to-build-docker-images-inside-a-jenkins-container-d59944102f30 按照文章里所介绍的,实现在Jenkins容器环境中依然能够调用Docker,需要做到以下几步 下载Jenkins镜像将环境中的docke…

设计模式——2_0 职责链(Chain of Responsibility)

楼下一个男人并得要死,那家隔壁的一家唱着留声机,对面是弄孩子。楼上有两人狂笑;还有打牌声,河中的船上有女人哭她死去的母亲。人类的悲欢并不相通,我只觉得他们吵闹 ——鲁迅 定义 使多个对象都有机会处理请求&#…

Go语言中HTTP代理的请求和响应过程

在Go语言中,HTTP代理的实现涉及对请求和响应的拦截、转发和处理。下面将详细介绍这个过程。 请求过程: 客户端发起请求:客户端(例如浏览器或其他应用程序)发送HTTP请求到代理服务器。建立连接:代理服务器…

fgets函数和fputs函数的使用

----由于本人使用的是大白话来讲解fgets和fputs函数的使用,所以可能有些部分可能会有些不准确(见谅),如果想十分严谨的了解fgets和fputs函数,可以移步其他文章。 -----那么不废话,直接开始 1.fgets函数 &a…

专栏:数据库、中间件的监控一网打尽

前言 对于数据库、中间件的监控,目前社区里最为完善的就是 Prometheus 生态的各个 Exporter,不过这些 Exporter 比较分散,不好管理,如果有很多目标实例需要监控,就要部署很多个 Exporter,要是能有一个大一…

Linux系统Shell脚本-----------正则表达式 、grep、 sed

一、正则表达式 1.前言 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。在Linux中也就是代表我们定义的模式模板&…

SAI实例研究(3)

实例3 creature.id 16295(smart_script.entryorguid)的SAI设置: 共分为0和1两个事件阶段 第0阶段: 第1条(id 0) 当 creature 刷新时(event_type 11),creature 对自身&#xff0…

【网络】传输层TCP协议 | 三次握手 | 四次挥手

目录 一、概述 2.1 运输层的作用引出 2.2 传输控制协议TCP 简介 2.3 TCP最主要的特点 2.4 TCP连接 二、TCP报文段的首部格式 三、TCP的运输连接管理 3.1 TCP的连接建立(三次握手) 3.2 为什么是三次握手? 3.3 为何两次握手不可以呢? 3.4 TCP的…

ChatGPT4 比 ChatGPT3.5 强在了那里?

刚开始的时候我还在纠结,一个月20 刀的ChatGPT4 ,到底值不值这个价钱?使用过后发现,诶嘛真香。因为 GPT4 比 GPT3.5 多了太多功能,特别是识图能力,用好的话效率翻倍。 1. 看图写代码 ChatGPT4 相比 ChatG…

colab使用自己数据集进行模型训练的方法汇总

在 Google Colab 上使用自己的数据集进行模型训练。Colab 允许通过多种方式上传数据,包括直接从本地计算机上传、从 Google Drive 加载或通过网络链接下载,从github导入等。 GitHub导入 使用以下的代码将github上的文件克隆到colab的当前目录下 !git …