linux安装redis超级详细教程

news2024/9/29 23:30:54

redis源码安装

  • 安装gcc
    • redis是C语言编写的,所以我们需要先在Linux上安装和升级,C语言的编译环境。
#安装gcc
yum install -y gcc-c++ autoconf automake
#centos7 默认的 gcc 默认是4.8.5,版本小于 5.3 无法编译,需要先安装gcc新版才能编译
gcc -v
#升级新版gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-
binutils
#临时生效
scl enable devtoolset-9 bash
#永久生效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
  • 下载,上传源码
    • 源码可以从官网下载,我们选择6.2.13版本。
      https://redis.io/download
    • 下载完成,传到Linux服务器
    • 我一般的上传路径是:/usr/local/src/redis6。redis6文件夹是自己创建的
  • 解压
# 先进入redis源码压缩包所在目录
# 然后解压
tar -zxvf redis-6.2.1.tar.gz
  • 编译
# 重命名解压后的文件夹,主要是想去掉一些特殊字符
mv redis-6.2.1 redis6
# 进入解压后的文件夹
cd redis6
# 编译
make
  • 安装
# 安装到指定目录,此目录我们自己创建
mkdir -p /usr/local/redis
# 安装到指定目录
make PREFIX=/usr/local/redis install
  • 启动
# 进入 安装目录下的bin目录,启动
# 这种启动方式是单机的。而且窗口不能关闭
./redis-server

在这里插入图片描述

# 使用客户端进入
./redis-cli

在这里插入图片描述

redis核心配置

配置说明

  • 必须要知道的配置
    • daemonize yes 配置后台运行,默认no
    • bind 绑定指定ip访问,0.0.0.0是不限制,配置多个ip例子 12.13.432.12 31.12.43.13 用空格隔开
    • port 端口号 默认6379
    • requirepass 密码配置
    • dbfilename 配置redis持久化文件名称
    • dir 配置redis持久化文件存储地址
    • save 配置redis持久化机制
  • 创建目录
    • 日志 /usr/local/redis/log
    • 数据 /usr/local/redis/data
    • 配置文件 /usr/local/redis/conf
    • 在配置文件下执行 touch redis.conf
  • 创建自定义配置文件 (使用自带的也行)
    • vi redis.conf 进入编译,并此时还不能编写输入i即可
    • 编写完成Esc退出编写,并输入:wq! 退出保存
#任何ip可以访问
bind 0.0.0.0
#守护进程
daemonize yes
#密码
requirepass 123456
#日志文件
logfile "/usr/local/redis/log/redis.log"
#持久化文件名称
dbfilename youyou.rdb
#持久化文件存储路径
dir /usr/local/redis/data
#持久化策略, 10秒内有个1个key改动,执行快照
save 10 1
  • 启动redis指定配置文件
./redis-server ../conf/redis.conf

客户端连接

本地客户端在连接远程服务器或者虚拟机的时候,如果连接不上。一般情况下是端口没开,或者防火墙没关。

  • 云服务器需要参考运营商的说明,开启端口安全连接。
  • 虚拟机需要关闭防火墙
systemctl stop firewalld # 临时关闭防火墙
systemctl disable firewalld # 禁止开机启动
service network restart # 重启网络服务

key命名规范

  • 方便管理+易读
  • 不要过长,本身key也占据空间
  • 冒号分割,不要有特殊字符(空格-引号-转义符-中文)
  • 例子:业务名:表名:ID
    • product-service:produdct:1
    • user:sign:1

注意:set value内容中文不会报错但是,get输出乱码并不是中文

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

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

相关文章

rv1126-rv1109-环境搭建-全部编译的方法

主要参考:Rockchip_Developer_Guide_Linux_Software_CN.pdf / SDK-Rockchip_RV1126_RV1109_Quick_Start_Linux_CN.pdf 找对文档事半功倍!为什么这么说,因为没找对绕了路!别笑! //解压源码,基础略过 tar xvf rv1126_rv1109_linux_v3.0.2_20230724.tgz -C rv1126_rv1109 cd rv1…

【Axure高保真原型】动态控制不透明度

今天和大家分享动态控制不透明度的原型模板,我们可以滑块左右拖动或者点击滑条的某个位置,从而控制图片上方遮罩的不透明度……具体效果可以打开下方原型地址体验或者点击下方视频观看 【原型效果】 【Axure高保真原型】动态控制不透明度 【原型预览及下…

No thread-bound request found 错误以及解决方案

异常信息: cause: java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually o…

一起学数据结构(7)——树及二叉树的基本概念及存储

前面的关于数据结构的文章中,介绍了顺序表,链表,栈,队列等数据结构。对于以上数据结构,均是一对一的关系。本篇文章将对于一对多的数据结构——树进行解析。 目录 1. 树的定义及基本概念: 1.1 树的定义&a…

结合el-tooltip,实现内容过长省略,移上显示全部

在系统中,内容过长需要省略,鼠标移上显示全部,这个是常用的功能,也有很多方案解决这种。 单行内容超出处理 常用的css方案: .ellipsis {overflow: hidden;white-space: nowrap;text-overflow: ellipsis; } 该样式在…

基于Android系统英语学习助手APP设计开发

一、 设计思路 1.1设计目标 1.2设计思路 1.3设计内容 1.3.1界面设计 1.3.2功能模块设计 1.3.3功能流程图 1.3.4数据库设计(如果没有数据库这部分删除) 1.4工具设备要求 1.5技术方案 二、设计过程与说明 2.1技术路线 2.2实现方案 2.3实现原理…

C#复习:面向对象基本概念

C#复习:面向对象基本概念 前言什么是面向对象类,名称空间的介绍 如何导入类库DLL引用(黑盒引用)项目引用(白盒引用)NuGet介绍 依赖关系C#的分装(个人理解) 前言 关于我C#的博客是根据刘铁猛老师的C#入门课程为基础写的,可以配合刘铁猛老师的…

.bat批处理命令处理文件

批处理命令处理文件找到上级目录,并删除文件与文件夹 参考资料: [BAT] 如何获取bat的上一级目录、上两级目录..._bat 上层目录_Risun_Lee的博客-CSDN博客echo offset currPath%~dp0set parentPathset parentparentPath:beginfor /f "tokens1,* de…

solidworks导出文本能打开的stl文件

几种以文本格式(ASCII)导出stl的设置 1.solidworks导出时需要在选项里设置导出格式为ASCII,当选择以二进制格式导出时,打开会乱码; 2.CAD直接导出的是以二进制形式导出的,导出后也无法使用文本打开&#xf…

NVIDIA DALI学习:数据加载

DALI的工作流, 如下图: 读取数据图像解码和变换,可以放到GPU上进行,也是加速的关键生成处理好的数据, 导出给计算引擎 测试用例 import ctypesimport numpy as np import nvidia.dali.fn as fn import nvidia.dali…

关于Godot动态生成节点的细节

var dy_btn Button.new()add_child(dy_btn)print(get_child(0).name) 此时获取的名词会带有动态类型,如果这个时候想通过特定的节点名词来获取节点是不行的 此时需要补充类似 dy_btn.name "a" 的代码,然后就能按照节点名词获取节点了

Java下打印九九乘法表

这个算法是基于打直角三角型演变而来&#xff0c;代码如下&#xff1a; public class MyWork {public static void main(String[] args) {for (int i 1; i < 10; i) {for (int j 1; j < i; j) {System.out.print(j "x" i "" i*j "\t&qu…

使用Arduino简单测试HC-08蓝牙模块

目录 模块简介模块测试接线代码测试现象 总结 模块简介 HC-08 蓝牙串口通信模块是新一代的基于 Bluetooth Specification V4.0 BLE 蓝牙协议的数传模块。无线工作频段为 2.4GHz ISM&#xff0c;调制方式是 GFSK。模块最大发射功率为4dBm&#xff0c;接收灵度-93dBm&#xff0c…

软考软件设计师-计算机组成与体系结构(上

软考中级 一、数据的表示如果是其他进制 二、把十进制转其他进制【短除法三、存储系统的层次结构存储系统-存储器的分类 四、把二进制转8进制与16进制二进制转8进制二进制转16进制 五、原码、反码、补码原码反码补码移码原码 反码 补码的取值范围 六、数据的表示-浮点数运算七、…

TienChin 渠道管理-配置字典常量

在字典管理当中添加渠道状态 channel_status&#xff1a;渠道状态 分别为&#xff1a; 正常&#xff0c;键值为1&#xff0c;回显样式为 success 禁用&#xff0c;键值为0&#xff0c;回显样式为 info !> 有个注意点&#xff1a;Vue3 当中 v-for 与 v-if 不能写在一起。 在上…

Linux 查看进程和线程

ps命令 在ps命令中&#xff0c;“-T”选项可以开启线程查看。下面的命令列出了由进程号为<pid>的进程创建的所有线程。 ps -T -p <pid> “SID”栏表示线程ID&#xff0c;而“CMD”栏则显示了线程名称。 你可以用 ps -eLf |grep XXX 来查看程序运行所产生的线程情…

005:vue2使用vue-type-writer实现打字机效果

Vue Type Writer是一个Vue.js 2打字机效果组件&#xff0c;支持像打字机一样模仿键入文本。 文章目录 1. 效果2. 安装使用 1. 效果 2. 安装使用 npm 安装 npm install vue-type-writer --save完整代码 <template><div class"app-container home"><…

MyBatis 高级使用

文章目录 动态SQL语句ifchoosetrimforeach 批量操作批量插入批量更新批量删除BatchExecutor 关联查询嵌套查询延迟加载 分页操作逻辑分页物理分页 MyBatis Generator添加配置文件添加插件生成 通用Mapper方式一方式二 MyBatis-Plus 动态SQL语句 动态 SQL 是 MyBatis 的强大特性…

【运维篇】二、配置文件与多环境控制

文章目录 1、临时属性2、IDEA中的临时属性3、配置文件4级分类4、关于四级分类的思考5、自定义配置文件6、多环境开发&#xff08;yaml版&#xff09;7、配置文件按环境分类8、include与group再细粒度9、一点思考10、多环境开发兼容问题 1、临时属性 jar包或者镜像已经打完了&a…