快速指南:在CentOS 7上安装Redis,构建高性能键值存储数据库

news2024/11/24 3:04:52

导航目录

    • 1、Redis安装并使用
      • 1.1、下载安装包
      • 1.2、重命名和移动文件
      • 1.3、redis编译安装
      • 1.4、redis启动
      • 1.5、设置后台启动redis
      • 1.6、设置redis密码
      • 1.7、设置redis服务远程访问
      • 1.8、redis服务的客户端连接测试
      • 1.9、命令行使用
      • 1.10、清理缓存

Redis(Remote Dictionary Server)是一个开源的高性能键值存储数据库,它支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。Redis以其快速、可靠和灵活的特性而受到广泛的关注和使用。

作为一个内存中的数据存储系统,Redis被设计用于提供高性能和低延迟的数据访问。它将数据存储在内存中,从而实现快速读写操作,并通过使用异步方式将数据写入磁盘来确保数据的持久性。Redis还具有一些高级功能,如发布/订阅、事务和持久性快照等,使其成为一个功能强大且灵活的数据存储解决方案。

Redis在许多场景中都得到了广泛应用。它可以用作缓存层,加速动态网站和应用程序的响应速度;它可以作为消息代理,实现实时数据处理和发布/订阅机制;它还可以用作数据存储,提供持久性的数据存储和高效的数据访问。

1、Redis安装并使用

1.1、下载安装包

官网下载地址:Download | Redis

## 下载安装包
[root@localhost softpackage]# wget https://download.redis.io/releases/redis-6.2.6.tar.gz

## 解压压缩文件
[root@localhost softpackage]# tar -zxvf redis-6.2.6.tar.gz

1.2、重命名和移动文件

## 安装目录移动到/usr/local/目录下,
## 并将redis-6.2.6重名为redis目录,使用mv /home/redis-6.2.6 /usr/local/redis命令,因此有如下操作。
[root@localhost softpackage]# mv redis-6.2.6 /usr/local/redis
[root@localhost softpackage]# cd /usr/local/redis
[root@localhost redis]# ll
总用量 236
-rw-rw-r--  1 root root 33624 104 2021 00-RELEASENOTES
-rw-rw-r--  1 root root    51 104 2021 BUGS
-rw-rw-r--  1 root root  5026 104 2021 CONDUCT
-rw-rw-r--  1 root root  3384 104 2021 CONTRIBUTING
-rw-rw-r--  1 root root  1487 104 2021 COPYING
drwxrwxr-x  7 root root   145 104 2021 deps
-rw-rw-r--  1 root root    11 104 2021 INSTALL
-rw-rw-r--  1 root root   151 104 2021 Makefile
-rw-rw-r--  1 root root  6888 104 2021 MANIFESTO
-rw-rw-r--  1 root root 21567 104 2021 README.md
-rw-rw-r--  1 root root 93724 104 2021 redis.conf
-rwxrwxr-x  1 root root   275 104 2021 runtest
-rwxrwxr-x  1 root root   279 104 2021 runtest-cluster
-rwxrwxr-x  1 root root  1079 104 2021 runtest-moduleapi
-rwxrwxr-x  1 root root   281 104 2021 runtest-sentinel
-rw-rw-r--  1 root root 13768 104 2021 sentinel.conf
drwxrwxr-x  3 root root  4096 104 2021 src
drwxrwxr-x 11 root root   182 104 2021 tests
-rw-rw-r--  1 root root  3055 104 2021 TLS.md
drwxrwxr-x  9 root root  4096 104 2021 utils
[root@localhost redis]# 

1.3、redis编译安装

## redis编译,执行make命令
[root@localhost redis]# make
## redis安装执行make install命令
[root@localhost redis]#  make install
cd src && make install
make[1]: 进入目录“/usr/local/redis/src”
    CC Makefile.dep
make[1]: 离开目录“/usr/local/redis/src”
make[1]: 进入目录“/usr/local/redis/src”

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

    INSTALL redis-server
    INSTALL redis-benchmark
    INSTALL redis-cli
make[1]: 离开目录“/usr/local/redis/src”

1.4、redis启动

## 为了方便管理,将Redis6.2.6目录中的conf配置文件和常用命令移动到统一目录中。
## 切换至redis根目录,创建bin和etc文件
## 将redis.conf文件移动到/usr/local/redis/etc/目录,将mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server 文件移动到/usr/local/redis/bin/目录
[root@localhost redis]# mkdir etc
[root@localhost redis]# mkdir bin
[root@localhost redis]# mv redis.conf /usr/local/redis/etc/
[root@localhost redis]# cd src/
[root@localhost src]# mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin/
[root@localhost src]# ll ../bin/
总用量 37512
-rwxrwxr-x 1 root root     735 104 2021 mkreleasehdr.sh
-rwxr-xr-x 1 root root 4830464 1118 18:18 redis-benchmark
-rwxr-xr-x 1 root root 9521712 1118 18:18 redis-check-aof
-rwxr-xr-x 1 root root 9521712 1118 18:18 redis-check-rdb
-rwxr-xr-x 1 root root 5004792 1118 18:18 redis-cli
-rwxr-xr-x 1 root root 9521712 1118 18:18 redis-server
[root@localhost src]#

## 执行redis-server命令,启动redis服务
[root@localhost src]# cd ..
[root@localhost redis]# 
[root@localhost redis]# ls
00-RELEASENOTES  BUGS     CONTRIBUTING  deps  INSTALL   MANIFESTO  runtest          runtest-moduleapi  sentinel.conf  tests   utils
bin              CONDUCT  COPYING       etc   Makefile  README.md  runtest-cluster  runtest-sentinel   src            TLS.md
[root@localhost redis]# ./bin/redis-server 
9193:C 18 Nov 2022 18:27:26.765 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
9193:C 18 Nov 2022 18:27:26.765 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=9193, just started
9193:C 18 Nov 2022 18:27:26.765 # Warning: no config file specified, using the default config. In order to specify a config file use ./bin/redis-server /path/to/redis.conf
9193:M 18 Nov 2022 18:27:26.766 * Increased maximum number of open files to 10032 (it was originally set to 1024).
9193:M 18 Nov 2022 18:27:26.766 * monotonic clock: POSIX clock_gettime
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 6.2.6 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                  
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 9193
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           https://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

9193:M 18 Nov 2022 18:27:26.766 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
9193:M 18 Nov 2022 18:27:26.766 # Server initialized
9193:M 18 Nov 2022 18:27:26.766 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
9193:M 18 Nov 2022 18:27:26.766 * Ready to accept connections

1.5、设置后台启动redis

## 编辑redis.conf文件,将daemonize属性改为yes,执行vim /usr/local/redis/etc/redis.conf命令
[root@localhost redis]# vim /usr/local/redis/etc/redis.conf
## 执行./bin/redis-server /usr/local/redis/etc/redis.conf命令,启动redis服务
[root@localhost redis]# ./bin/redis-server /usr/local/redis/etc/redis.conf
[root@localhost redis]# 

在这里插入图片描述

1.6、设置redis密码

## 编辑redis.conf文件,找到requirepass这个参数,若是没有增加requirepass参数并设置密码参考如下图所示,执行vim /usr/local/redis/etc/redis.conf命令
[root@localhost redis]# vim /usr/local/redis/etc/redis.conf
## 保存后,重启redis服务即可生效。
[root@localhost redis]# ps -ef|grep redis
root       9193   2154  0 18:27 pts/0    00:00:00 ./bin/redis-server *:6379
root      24406   9201  0 18:35 pts/1    00:00:00 grep --color=auto redis
[root@localhost redis]# kill -9 9193
[root@localhost redis]# ./bin/redis-server /usr/local/redis/etc/redis.conf
[root@localhost redis]# ps -ef|grep redis
root      24408      1  0 18:35 ?        00:00:00 ./bin/redis-server 127.0.0.1:6379
root      24414   9201  0 18:35 pts/1    00:00:00 grep --color=auto redis
[root@localhost redis]# 

在这里插入图片描述

1.7、设置redis服务远程访问

## 编辑redis.conf文件,找到bind 127.0.0.1 -::1配置,将用#号注释掉即可,参考如下图所示。
[root@localhost redis]# vim /usr/local/redis/etc/redis.conf
## 然后执行ps -ef|grep redis命令,找到已启动的redis服务,使用kill命令杀掉redis服务进程。再执行./bin/redis-server /usr/local/redis/etc/redis.conf命令,启动redis服务。
[root@localhost redis]# ps -ef|grep redis
root       9193   2154  0 18:27 pts/0    00:00:00 ./bin/redis-server *:6379
root      24406   9201  0 18:35 pts/1    00:00:00 grep --color=auto redis
[root@localhost redis]# kill -9 9193
[root@localhost redis]# ./bin/redis-server /usr/local/redis/etc/redis.conf
[root@localhost redis]# ps -ef|grep redis
root      24408      1  0 18:35 ?        00:00:00 ./bin/redis-server 127.0.0.1:6379
root      24414   9201  0 18:35 pts/1    00:00:00 grep --color=auto redis
[root@localhost redis]# 

在这里插入图片描述

1.8、redis服务的客户端连接测试

redis客户端下载
在这里插入图片描述
Redis 默认有16个仓库,编号从0到15。通过配置文件可以设置仓库数量,但是不超过16,并且不能自定义仓库名称。

1.9、命令行使用

## 切换到 redis 目录下运行:
[root@localhost bin]# pwd
/usr/local/redis/bin
[root@localhost bin]# ls
mkreleasehdr.sh  redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-server
[root@localhost bin]# ./redis-cli 
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set mykey rucoding
OK
127.0.0.1:6379> get mykey
"rucoding"
127.0.0.1:6379> 

在这里插入图片描述

1.10、清理缓存

redis 清理缓存 按实际情况谨慎操作

[root@localhost bin]# pwd
/usr/local/redis/bin
[root@localhost bin]# ls
mkreleasehdr.sh  redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-server
[root@localhost bin]# ./redis-cli 
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> 
### 查询数据库 key 的数量
127.0.0.1:6379> dbsize
(integer) 1
127.0.0.1:6379> 
### 清理缓存
127.0.0.1:6379> flushall    # 清空整个 Redis 服务器的key和数据 (删除所有数据库的所有 key )
OK
127.0.0.1:6379> 
### 删除指定索引的值
127.0.0.1:6379> del mykey
(integer) 1
127.0.0.1:6379> 
### 使用keys * 进行验证是否为空
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> exit # 退出

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

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

相关文章

opencv_c++学习(二十一)

一、图像的轮廓检测 轮廓检测函数: findContours(lnputArray image, OutputArrayOfArrays contours,OutputArray hierarchy, int mode, int method, Point offset Point())image:输入图像,数据类型为CV_8U的单通道灰度图像或者二值化图像。contours:检…

mPython软件使用指南

①软件界面 一、软件界面的介绍 1.模式切换 硬件编程 Python3.6 Jupyter python3.6模式细节补充(一般不使用该模式,此处可跳过) Python3.6模式的界面 左侧指令分类栏 Python3.6模式的图形化指令分类分为: Python语法基础相关指令&…

Ajax 获取 JSON数据

文章目录 Ajax获取JSON数据 Ajax获取JSON数据 Ajax 全称“Asynchronous JavaScript and XML”,译为“异步 JavaScript 和 XML”,程序员们习惯称之为“阿贾克斯”,通过 Ajax 我们可以异步在服务器与客户端之间传递数据。在 Ajax 中&#xff0…

机器学习期末复习 贝叶斯分类器

先验概率与后验概率 先验概率:对于某一个概率事件,我们都会有基于自己已有的知识,对于这个概率事件会分别以什么概率出现各种结果会有一个预先的估计,而这个估计并未考虑到任何相关因素。 对于分类数据来说,先验概率就…

【lager】日志系统1:允许多个日志源向多个最终用户进行日志记录 windows cmake构建

【xerces】xerces-c-3.2.4 版本的cmake windows vs2022 构建 lager Light-weight Accumulator Gathering Efficiently in Real-time lagerLAGER(实时高效收集的轻量级累加器)是一个可靠的日志系统,旨在允许多个日志源向多个最终用户进行日志记录。该设计文档概述了整个系统的…

Android---APK 瘦身

在 APP 开发过程中,随着业务迭代,apk 体积逐渐变大。项目中累积的无用资源,未压缩的图片资源等,都为 apk 带来了不必要的体积增加。而 APK 的大小会影响应用加载速度、使用的内存量以及消耗的电量。 APK 结构 APK 文件由一个 Zip…

浅析Koa2中控制器

控制器 什么是控制器 拿到路由分配的任务,并执行 路由的功能是根据不同的 url, 来分配不同的任务。 控制器是拿到路由分配的任务并执行,是注册在路由中的中间件。 所以在 koa 中, 控制器也是一个中间件。 为什么要使用控制器 获取HTTP请求参数处理…

article-码垛机器人admas仿真

按照运动学仿真的类似步骤为机器人添加材料、运动副和关节驱动,给机器人手腕末端施加50N最大负载,仿真模型如图5-17。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AXYQVZPq-1684936426972)(data:image/svgxml;utf8, )] 图…

OpenGL之纹理

文章目录 什么是纹理加载与创建纹理stb_image.h加载并生成纹理 纹理环绕方式纹理过滤多级渐远纹理 纹理单元 什么是纹理 我们已经了解到,我们可以为每个顶点添加颜色来增加图形的细节,从而创建出有趣的图像。但是,如果想让图形看起来更真实&a…

unity制作一款塔防游戏

文章目录 介绍寻路系统怪物生成器制作3种初级炮台、3种升级炮台设置炮台属性选择炮台,添加监听事件炮弹追踪攻击敌人拖动鼠标实现相机视角转换鼠标光标放在cube上变色文字动画 介绍 关键技术: 寻路系统 生成怪物算法 粒子系统 line renderer制作追踪射线…

python基本操作1(速通版)

目录 一、input输入函数 二、格式化字符输出 三、函数的基本操作 1.return返回值的问题 2.参数传递 四、运算符 1.关系比较符 2.逻辑运算符 五、if语句 六、随机数 七、循环 1.while语句的基本应用 2.break语句 2.continue语句 3.猜拳游戏 4.三目运算符 6.for…

让input框只输入英文

解决扫码枪在中文输入法时扫码冲突 扫码枪在扫完码时会自动回车,这时如果是中文输入法就会触发输入法联想,再加一个回车,那么input框输入的就成中文了。如果可以控制input框只能输入英文那就好了。css有一个属性(ime-mode&#xf…

ChatGpt论文指令,很全!

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 ChatGPT的能力大家肯定都听说过,很多学生应该都亲身体验过。它在自然语言处理方面的出色 除了写代码 写论文也是超…

【计算思维题】少儿编程 蓝桥杯青少组计算思维真题及详细解析第4套

少儿编程 蓝桥杯青少组计算思维真题及详细解析第4套 1、下面哪个图形与其它图形不同 A、 B、 C、 D、 答案:D 考点分析:主要考查小朋友们的观察能力,从给定的图中可以看到前三个选项都是90度直角,最后一个是锐角,所以答案D 2、下列哪个选项是由下图旋转得到的

位运算【算法基础】

目录 知识点: 题目: 模板 关于为什么负数要用补码 知识点: 如果想看整数n的二进制表示中的第k位(从0开始)是几? (1)把第k位右移到个位n>>k (2)看x…

大模型时代,「重识」云知声

在山海大模型发布会现场,黄伟有一句话令人印象深刻,“云知声的过去十年,就是为山海而生。 作者| 皮爷 出品|产业家 “谁能做成中国最好的大模型?”在今年3月一个北京投资人的内部分享会上,有人满怀期待地提出这样…

Java SPI 一 之SPI(Service Provider Interface)进阶 AutoService

​ 一、SPI(Service Provider Interface) 1.1 介绍 SPI(Service Provider Interface),是JDK内置的一种 服务提供发现机制(为某个接口寻找服务实现的机制),可以用来启用框架扩展和替换组件,其…

Admin.NET管理系统(c#+vue3)前后端学习笔记

我的学习笔记 - 9iAdmin.NET 欢迎学习交流(一)前端笔记1.1 关于.env的设置1.2 关于路由模式问题1.3 关于 vue.config.ts1.4 关于 打包(pnpm run build)溢出问题1.5 关于 打包(pnpm run build)后部署到IIS重…

article-六轴码垛机器人admas正逆运动学仿真

基座自由度、大臂摆动自由度、小臂摆动自由度、腕部Y轴摆动自由度、腕部Z轴摆动自由度及其腕部末端X轴旋转自由度 其导入过程为: 机器人三维模型总体有6个部分。打开机器人的SolidWork三维模型,依次另存为6个“Parasolid(x_t)”类型的文件。打开ADAMS/…

【MATLAB第36期】基于MATLAB的QOWOA-LSTM鲸鱼优化算法准反向策略的WOA优化LSTM时间序列预测模型 优势明显,注释详细,绘图丰富

【MATLAB第36期】基于MATLAB的QOWOA-LSTM鲸鱼优化算法准反向策略的QOWOA优化LSTM时间序列预测模型,优势明显,注释详细,绘图丰富 一、代码优势 1.使用优化后的QOWOA算法优化LSTM超参数(学习率,隐藏层节点,…