redis 6.0.5 linux详细安装步骤和测试

1.从官网下载redis-6.0.5.tar.gz
https://download.redis.io/releases/
2.使用root创建redis用户和目录
  [root@t3-dtpoc-dtpoc-web06 home]# useradd -d /home/redis -m redis
 使用redis用户创建redis目录包括 data logs conf文件夹
 [root@t3-dtpoc-dtpoc-web06 home]# su - redis
[redis@t3-dtpoc-dtpoc-web06 ~]$ pwd
/home/redis
[redis@t3-dtpoc-dtpoc-web06 ~]$ mkdir redis
[redis@t3-dtpoc-dtpoc-web06 ~]$ cd redis/
[redis@t3-dtpoc-dtpoc-web06 redis]$ mkdir data 
[redis@t3-dtpoc-dtpoc-web06 redis]$ mkdir logs
[redis@t3-dtpoc-dtpoc-web06 redis]$ pwd
/home/redis/redis
[redis@t3-dtpoc-dtpoc-web06 redis]$ ls
conf  data  logs


3.将redis-6.0.5.tar.gz上传到/home/redis,并使用redis用户解压
[redis@t3-dtpoc-dtpoc-web06 ~]$ tar -xvf redis-6.0.5.tar.gz
.....
redis-6.0.5/utils/systemd-redis_server.service
redis-6.0.5/utils/tracking_collisions.c
redis-6.0.5/utils/whatisdoing.sh
[redis@t3-dtpoc-dtpoc-web06 ~]$ ls
redis  redis-6.0.5  redis-6.0.5.tar.gz
 
4.使用redis用户编译并安装redis 
[redis@t3-dtpoc-dtpoc-web06 ~]$cd redis-6.0.5
[redis@t3-dtpoc-dtpoc-web06 redis-6.0.5]$make
...
  LINK redis-server
    INSTALL redis-sentinel
    CC redis-cli.o
    LINK redis-cli
    CC redis-benchmark.o
    LINK redis-benchmark
    INSTALL redis-check-rdb
    INSTALL redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory '/home/redis/redis-6.0.5/src'

安装redis,PREFIX=/home/redis/redis 设置安装目录
[redis@t3-dtpoc-dtpoc-web06 redis-6.0.5]$ make PREFIX=/home/redis/redis install
cd src && make install
make[1]: Entering directory '/home/redis/redis-6.0.5/src'
    CC Makefile.dep

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
make[1]: Leaving directory '/home/redis/redis-6.0.5/src'

可以看到自动产生了安装目录bin文件夹:

[redis@t3-dtpoc-dtpoc-web06 redis]$ ls
bin  conf  data  logs
5.设置redis.conf配置文件,设置daemonize yes和protected-mode no

方法1:直接copy已有的redis.conf文件然后修改
[redis@t3-dtpoc-dtpoc-web06 redis-6.0.5]$ pwd
/home/redis/redis-6.0.5
[redis@t3-dtpoc-dtpoc-web06 redis-6.0.5]$ cp redis.conf /home/redis/redis/conf
[redis@t3-dtpoc-dtpoc-web06 redis-6.0.5]$ vi /home/redis/redis/conf/redis.conf 

方法2:一般直接新建一个redis.conf文件,然后插入配置项,这里我们写入如下配置项

注意:pidfile很重要,默认是/var/run/redis_6379.pid,如果不更改成/home/redis目录下,redis可能没有权限,无法生成pid文件,而稍后我们配置service服务脚本判断redis是否启动的依据就是是否存在Pid文件

port 6379
daemonize yes
pidfile "/home/redis/redis/logs/redis_6379.pid"
logfile "/home/redis/redis/logs/redis_6379.log"
dir "/home/redis/redis/data"

6.启动redis server
[redis@t3-dtpoc-dtpoc-web06 bin]$ pwd
/home/redis/redis/bin
[redis@t3-dtpoc-dtpoc-web06 bin]$ ls
redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server
[redis@t3-dtpoc-dtpoc-web06 bin]$ ./redis-server ../conf/redis.conf 
3138733:C 08 Oct 2023 17:23:11.393 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
3138733:C 08 Oct 2023 17:23:11.393 # Redis version=6.0.5, bits=64, commit=00000000, modified=0, pid=3138733, just started
3138733:C 08 Oct 2023 17:23:11.393 # Configuration loaded

可以看到redis进程已经启动和端口监听
[redis@t3-dtpoc-dtpoc-web06 bin]$ ps -elf |grep -i redis
4 S root     3132139 3117780  0  80   0 - 59706 -      17:04 pts/0    00:00:00 su - redis
4 S redis    3132140 3132139  0  80   0 - 55895 -      17:04 pts/0    00:00:00 -bash
1 S redis    3138734       1  0  80   0 - 60985 do_epo 17:23 ?        00:00:00 ./redis-server 127.0.0.1:6379
0 R redis    3138765 3132140  0  80   0 - 56256 -      17:23 pts/0    00:00:00 ps -elf
0 S redis    3138766 3132140  0  80   0 - 53327 -      17:23 pts/0    00:00:00 grep -i redis
[redis@t3-dtpoc-dtpoc-web06 bin]$ netstat -tulnp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      -                   
tcp        0      0 10.153.119.7:15400      0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:15400         0.0.0.0:*               LISTEN      -                   
tcp        0      0 10.153.119.7:15401      0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:15401         0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      3138734/./redis-ser 
tcp        0      0 10.153.119.7:15405      0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::9090                 :::*                    LISTEN      -                   
tcp6       0      0 ::1:15400               :::*                    LISTEN      -                   
tcp6       0      0 ::1:15401               :::*                    LISTEN      -                   
tcp6       0      0 :::3306                 :::*                    LISTEN      -                   
tcp6       0      0 :::4236                 :::*                    LISTEN      -                   
tcp6       0      0 :::111                  :::*                    LISTEN      -                   
tcp6       0      0 :::22                   :::*                    LISTEN      -                   
udp        0      0 0.0.0.0:111             0.0.0.0:*                           -                   
udp        0      0 127.0.0.1:323           0.0.0.0:*                           -                   
udp6       0      0 :::111                  :::*                                -                   
udp6       0      0 ::1:323                 :::*                                -  
 7.配置redis service服务

cp /home/redis/redis-6.0.5/utils/redis_init_script  /etc/init.d/redis

chown redis /etc/init.d/redis

修改其中:

REDISPORT=6379

EXEC=/home/redis/redis/bin/redis-server
CLIEXEC=/home/redis/redis/bin/redis-cli

PIDFILE=/home/redis/redis/logs/redis_${REDISPORT}.pid
CONF="/home/redis/redis/conf/redis.conf"

测试:

[redis@t3-dtpoc-dtpoc-web06 data]$ service redis stop
Stopping ...
Redis stopped
[redis@t3-dtpoc-dtpoc-web06 data]$ service redis start
Starting Redis server...
[redis@t3-dtpoc-dtpoc-web06 data]$ ps -elf |grep -i redis
4 S root     3132139 3117780  0  80   0 - 59706 -      Oct08 pts/0    00:00:00 su - redis
4 S redis    3132140 3132139  0  80   0 - 55895 -      Oct08 pts/0    00:00:00 -bash
4 S root     3262862 3254597  0  80   0 - 59706 -      10:28 pts/1    00:00:00 su - redis
4 S redis    3262863 3262862  0  80   0 - 55864 -      10:28 pts/1    00:00:00 -bash
0 S redis    3265945 3262863  0  80   0 - 55837 core_s 10:52 pts/1    00:00:00 vi /etc/init.d/redis
1 S redis    3266216       1  0  80   0 -  8456 do_epo 10:54 ?        00:00:00 /home/redis/redis/bin/redis-server *:6379
0 R redis    3266306 3132140  0  80   0 - 56256 -      10:55 pts/0    00:00:00 ps -elf
0 S redis    3266307 3132140  0  80   0 - 53327 -      10:55 pts/0    00:00:00 grep -i redis

8.查看配置
127.0.0.1:6379> CONFIG GET *
  1) "rdbchecksum"
  2) "yes"
  3) "daemonize"
  4) "yes"
  5) "io-threads-do-reads"
  6) "no" 
  测试最基础的命令,重启redis进程后,输入的key没有保存,说明没有进行持久化,我们打开data目录也没有看到数据文件,说明哪里的设置有问题,继续研究
 [redis@t3-dtpoc-dtpoc-web06 redis]$ ls
bin  conf  data  logs
[redis@t3-dtpoc-dtpoc-web06 redis]$ cd bin
[redis@t3-dtpoc-dtpoc-web06 bin]$ ls
dump.rdb  redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server
[redis@t3-dtpoc-dtpoc-web06 bin]$ ./redis-cli 
127.0.0.1:6379> get read
(nil)
127.0.0.1:6379> set read 1000
OK
127.0.0.1:6379> get read
"1000"
127.0.0.1:6379> shutdown 
not connected> exit
[redis@t3-dtpoc-dtpoc-web06 bin]$ ./redis-cli 
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected> exit
[redis@t3-dtpoc-dtpoc-web06 bin]$ service redis start
Starting Redis server...
[redis@t3-dtpoc-dtpoc-web06 bin]$ ./redis-cli        
127.0.0.1:6379> get read
(nil)
127.0.0.1:6379> 

然后在redis.conf文件加上如下配置后,重启redis服务,发现重启redis服务,数据也已经持久化了

注意:appendfilename会在dir参数的目录下创建data文件。appendfsync everysec是每秒进行持久化

appendonly yes
appendfilename "appendonly_6379.aof"
appendfsync everysec

[redis@t3-dtpoc-dtpoc-web06 bin]$ ./redis-cli 
127.0.0.1:6379> get read
(nil)
127.0.0.1:6379> set read 10000
OK
127.0.0.1:6379> set read2 20000
OK
127.0.0.1:6379> shutdown 
not connected> exit
[redis@t3-dtpoc-dtpoc-web06 bin]$ service redis start
Starting Redis server...
[redis@t3-dtpoc-dtpoc-web06 bin]$ ./redis-cli        
127.0.0.1:6379> get read 
"10000"
127.0.0.1:6379> get read2
"20000"
127.0.0.1:6379>

查看appendonly_6379.aof文件

[redis@t3-dtpoc-dtpoc-web06 data]$ pwd
/home/redis/redis/data
[redis@t3-dtpoc-dtpoc-web06 data]$ ls
appendonly_6379.aof

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

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

相关文章

rustlings本地开发环境配置

克隆自己的仓库 首先我们要在github上找到自己仓库并把它克隆到本地 git clone https://github.com/LearningOS/rust-rustlings-2023-autumn-******.git下载插件 rust-analyzer和Git Graph一个可以用来解析rust代码,另一个可以可视化管理git代码库 下载rustling…

HTML5+CSS3+JS小实例:仿优酷视频轮播图

实例:仿优酷视频轮播图 技术栈:HTML+CSS+JS 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content=&quo…

网络安全(骇客)—技术学习

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟入…

2023 Shandong Provincial Collegiate Programming Contest

D. Fast and Fat&#xff08;2023 ICPC 山东省赛&#xff09;&#xff08;二分贪心检查&#xff09; 题意&#xff1a; 对于一个运动员 i &#xff0c;他的速度是 vi&#xff0c;体重是 wi。如果运动员 j 的体重 wj < wi&#xff0c;那么运动员 i 可以用原本的速度 vi 背着…

深入篇【C++】总结<lambda表达式>与<包装器和bind>的使用与意义

深入篇【C】总结&#xff1c;lambda表达式&#xff1e;与&#xff1c;包装器和bind&#xff1e;的使用与意义 一.lambda表达式1.使用语法2.底层本质3.应用意义 二.包装器(适配器)1.使用语法2.解决问题①3.解决问题②4.应用场景:指令操作 三.bind (适配器)1.调整参数位置2.绑定参…

C# Windows 窗体控件中的边距和填充

可以将 Margin 属性、Left、Top、Right、Bottom 的每个方面设置为不同的值&#xff0c;也可以使用 All 属性将它们全部设置为相同的值。 在代码中设置Margin&#xff0c;元素的左边设置为5个单位、上边设置为10个单位、右边设置为15个单位和下边设置为20个单位。 TextBox myT…

【gitlab】本地项目上传gitlab

需求描述 解决方法 下面的截图是gitlab空项目的描述 上传一个本地项目按其中“Push an existing folder”命令即可。 以renren-fast项目为例 # 用git bash 下载renren-fast项目 git clone https://gitee.com/renrenio/renren-fast.git# 在renren-fast的所属目录 打开git ba…

1.1 Joyvan的矩阵

算法设计与分析 1.1 Joyvan的矩阵 题目描述 Joyvan有一个大小为n * m的矩阵&#xff0c;现在他要对矩阵进行q次操作&#xff0c;操作分为如下三种&#xff1a; 0 x y&#xff1a;交换矩阵的x、y两行。 1 x y&#xff1a;交换矩阵的x、y两列。 2 x y&#xff1a;求当前矩阵第…

【数据结构与算法】如何对快速排序进行细节优化以及实现非递归版本的快速排序?

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;国庆长假结束了&#xff0c;无论是工作还是学习都该回到正轨上来了&#xff0c;从今天开始恢复正常的更新频率&#xff0c;今天为大家带来的内容…

【Python_PySide2学习笔记(十八)】勾选按钮QCheckBox类的基本用法

勾选按钮QCheckBox类的基本用法 前言正文1、创建勾选按钮2、勾选按钮获取选中状态3、创建按钮组4、按钮组添加勾选按钮5、按钮组设置单选6、按钮组信号&#xff1a;选中状态改变7、按钮组获取所有勾选按钮7.1、获取勾选按钮对象7.2、获取勾选按钮文本7.3、获取勾选按钮ID7.4、按…

win11安装IIS步骤-已验证23.10.10

IIS服务使用 步骤一&#xff1a;打开控制面板 通过 控制面板— 程序— 启用或关闭Windows功能 — 选择Internet Information Services默认安装IIS&#xff0c;如下图步骤所示 步骤二&#xff1a;打开IIS服务 建议根据下图勾选&#xff0c;建议全选安装&#xff0c;以便后续发…

Vuex的核心概念及作用

核心概念 Store 有五个核心的概念&#xff0c;State、Getters、Mutations、Actions、Modules。你都必须要知道它们的作用是什么。 State 状态 我们每一个项目&#xff0c;基本上都是使用同一个 store 实例&#xff0c;所以 State 也是共用一个&#xff0c;State 是一个对象&…

聊聊2023年怎么入局小游戏赛道?

一、微信小游戏赛道发展史 第一阶段&#xff1a;轻度试水期&#xff0c;2017&#xff5e;2019年 微信小游戏于2017年底上线&#xff0c;初期以轻度休闲为主&#xff0c;例如棋牌、合成消除以及益智相关游戏类型。一是开发门槛不高&#xff0c;产品可以快速上线; 二是大部分厂…

虹科方案 | 汽车CAN/LIN总线数据采集解决方案

全文导读&#xff1a;现代汽车配备了复杂的电子系统&#xff0c;CAN和LIN总线已成为这些系统之间实现通信的标准协议&#xff0c;为了开发和优化汽车的电子功能&#xff0c;汽车制造商和工程师需要可靠的数据采集解决方案。基于PCAN和PLIN设备&#xff0c;虹科提供了一种高效、…

mac(M1)卸载miniconda3

参考https://stackoverflow.com/questions/29596350/how-to-uninstall-mini-conda-python step1 因为我目前只有一个base环境&#xff0c;所以直接在这个环境中安装 anaconda-clean即可 conda install anaconda-clean然后继续输入 anaconda-clean如果不加–yes&#xff0c;那…

[nltk_data] Error loading stopwords: <urlopen error [WinError 10054]

报错提示&#xff1a; >>> import nltk >>> nltk.download(stopwords) 按照提示执行后 [nltk_data] Error loading stopwords: <urlopen error [WinError 10054] 找到路径C:\\Users\\EDY\\nltk_data&#xff0c;如果没有nltk_data文件夹&#xff0c;在…

《安富莱嵌入式周报》第324期:单对以太网技术实战,IROS2023迪士尼逼真机器人展示,数百万模具CAD文件下载,闭环步进电机驱动器,CANopen全解析

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 更新一期视频教程&#xff1a; 第8期ThreadX视频教程&#xff1a;应用实战&#xff0c;将裸机工程移植到RTOS的任务划分…

黑马点评-05缓存穿透问题及其解决方案,缓存空字符串或使用布隆过滤器

缓存穿透问题(缓存空) 缓存穿透的解决方案 缓存穿透(数据穿透缓存直击数据库): 缓存穿透是指客户端请求访问缓存中和数据库中都不存在的数据,此时缓存永远不会生效并且用户的请求都会打到数据库 数据库能够承载的并发不如Redis这么高&#xff0c;如果大量的请求同时访问这种…

【nginx】nginx部署升级htpp+websocket访问

关注todo-step1和todo-step2就行了&#xff1a; user root; …… http {### Basic Settings##sendfile on;tcp_nopush on;types_hash_max_size 2048;client_max_body_size 10240m;include /etc/nginx/mime.types;default_type application/octet-stream;# 配置websocket访问 *…

基于YOLOv5、YOLOv8的火灾检测(超实用项目)

目录 1.简介 2.YOLO算法 3.基于YOLOv5、YOLOv8的火灾检测 视频已上传b站 YOLOv5/YOLOv8的火灾检测&#xff08;超实用项目&#xff09;_哔哩哔哩_bilibili 本文为系列专栏&#xff0c;包括各种YOLO检测算法项目、追踪算法项目、双目视觉、深度结构光相机测距测速三维测量项…