redis在Dokcer的安装使用

news2024/11/24 8:27:13

1 redis 安装和配置

# redis 是什么
开源:基于c编写的,早起版本2w3千行
基于键值对的存储系统:字典形式
多种数据结构:字符串,hash,列表,集合,有序集合
高性能,功能丰富

#Redis特性(8个)
1 速度快:10w ops(每秒10w读写),数据存在内存中,c语言实现,数据单线程模型

2 持久化:rdb和aof

3 多种数据结构:

4 5大数据结构
    BitMaps位图:布隆过滤器 本质是 字符串
    HyperLogLog:超小内存唯一值计数,12kb HyperLogLog 本质是 字符串
    GEO:地理信息定位 本质是有序集合

5 支持多种编程语言:基于tcp通信协议,各大编程语言都支持

6 功能丰富:发布订阅(消息) 事务(pipeline)
	简单:源代码几万行,不依赖外部库

7 主从复制和高可用    
    主从复制:主服务器和从服务器,主服务器可以同步到从服务器中
    高可用和分布式

1.2 redis 安装(linux-cenots)

1.2.1 源码安装

  • 官方

image-20240627153049629

  • gitthub开源地址

image-20240627153212627

  • 编译安装

image-20240627153740450

image-20240627153834976

  • 安装

wget https://github.com/redis/redis/archive/7.2.4.tar.gz

image-20240627154144934

  • 改名

mv redis-stable/ redis

image-20240627154423092

  • make && make install
    
    /usr/local/bin/ 路径下会有可执行文件
    

image-20240627155909459

c /usr/local/bin/  已经在环境变量了,再任意路径敲

redis-server

image-20240627160104423

cd 
cd redis

ll

mv redis.conf redis.conf.bak

vi redis.conf

image-20240627161814087

image-20240627161748969

  • mkdir data
    
    redis-server ./redis.conf
    redis-cli -v
    ps aux |grep redis
    

    image-20240627162254028

# 0 使用源码包,源码编译安装
# 2 官方提供地址
wget https://download.redis.io/redis-stable.tar.gz
# 3 github开源地址
https://github.com/redis/redis/releases
wget https://github.com/redis/redis/archive/7.2.4.tar.gz

# 4 解压
tar -xzvf redis-stable.tar.gz

# 5 改名
mv redis-stable/ redis

# 6 没有可执行文件---》编译安装
cd redis
# make--》只是编译---》编译后的可执行文件会放在src目录下
# make install--》安装---》指定安装目录
make && make install

#  /usr/local/bin/ 路径下会有可执行文件



# 4 src目录下,就会有几个可执行文件
	#redis-server--->redis服务器
    #redis-cli---》redis命令行客户端
    #redis-sentinel---》sentinel服务器,哨兵
    #redis-benchmark---》redis性能测试工具
    #redis-check-aof--->aof文件修复工具
    #redis-check-dump---》rdb文件检查工具

    
# 5 /usr/local/bin/  已经在环境变量了,再任意路径敲
redis-server # 都能执行


# 6 修改配置文件启动 vi redis.conf
daemonize yes
pidfile /var/run/redis.pid
port 6379
dir ./data
logfile 6379.log

# 7 创建文件夹   cd redis
mkdir data

# 8 启动 
redis-server ./redis.conf # 数据目录data在当前目录下
ps aux |grep redis
# 9 查看redis版本
redis-cli -v
redis-cli 7.2.5

image-20240627165134885

cd redis-stack-server/
ls
cd bin/
ls
cd ../
cd etc/
ls
[root@localhost etc]# ls
README  redis-stack.conf  redis-stack-service.conf

rm -rf *
vi redis.conf
cd ../
mkdir data
# 在cd /redis-stack-server/
./bin/redis-server ./etc/redis.conf 

vi redis.conf

image-20240627190253549

在这里插入图片描述
1.2.2 redis-stack

# 0 编译过后的可执行文件
	分平台:mac,linux:乌班图,centos
# 1 下载地址:https://redis.io/downloads/  # centos的
	wget https://packages.redis.io/redis-stack/redis-stack-server-7.2.0-v11.rhel7.x86_64.tar.gz
    
# 2 解压即用
tar -xzvf redis-stack-server-7.2.0-v11.rhel7.x86_64.tar.gz
# 3  文件夹重命名
mv redis-stack-server-7.2.0-v11 redis-stack-server

cd redis-stack-server/etc

rm -rf *
vi redis.conf
cd ../
mkdir data

./bin/redis-server ./etc/redis.conf 

# 4 配置环境变量
	-mac , linux,win 环境变量,是一堆key-value,在操作系统整个运行过程中拿到
    -特殊:PATH:;    :  分割,放了很多路径,这些路径下的可执行文件,可以在任意路径下执行
    -用户变量,系统变量
    	-用户环境变量---》只有当前用户能用
        -系统环境变量--》所有用户都用
    
	-win:
    	#输出环境变量  需要使用 % % 包裹起来
    	echo %PATH%
        # 配置环境变量--图形化界面
        
    -mac,linux
    	# 输出环境变量
        	 echo $PATH
    	-用户环境变量(每个用户家路径里)
        	cd  # 回家  /root    /home/名字
            ls -al # 查看当前文件夹下所有文件和文件夹(包含隐藏的)
            .bash_profile #配置用户环境变量
            vi .bash_profile # 编辑环境变量---》等同于
            PATH=$PATH:$HOME/bin:写个绝对路径
            PATH=$PATH:写个绝对路径
		   export PATH
		   
            source .bash_profile  # 让配置生效
            
            
        -系统环境变量
        
 # 5 任意路径下敲
	redis-server   # 启动redis
    
    
# 6 查看redis版本
./bin/redis-cli -v

1.3 redis 启动

####### 1 最简启动 :以默认启动:6379端口,监听本地。。。#######
redis-server
ps -ef|grep redis  #查看进程
# root      93390  81863  0 12:33 pts/8    00:00:00 redis-server *:6379

# yum install net-tools -y
netstat -antpl|grep redis  #查看端口
redis-cli -h ip -p port ping #命令查看




#######2 动态参数启动#######
redis-serve --port 6380  # 启动,监听6380端口


#######3  配置文件启动#######
#配置文件启动(6379对应手机按键MERZ,意大利女歌手Alessia Merz的名字)
#####通过redis-cli连接,输入config get * 可以获得默认配置
#在redis目录下创建config目录,copy一个redis.conf文件
#daemonize--》是否是守护进程启动(no|yes)
#port---》端口号
#logfile--》redis系统日志
#dir--》redis工作目录

1 cd redis  #  进入到目录
2 mv redis.conf redis.conf.bak # 备份一下原来的配置文件
3 vi redis.conf # 在文件中写入
daemonize yes
pidfile /var/run/redis.pid
port 6379
dir ./data
logfile 6379.log

4 redis-server ./redis.conf # 后台运行

2 redis客户端操作

允许远程连接

# 关闭连接要先进入redis-cli
shutdown
# 启动
redis-server ./redis.conf

image-20240627194739803

####配置允许远程链接###########
# 1 使用配置文件启动redis
cd redis
redis-server ./redis.conf

daemonize yes

bind 0.0.0.0
protected-mode no
requirepass 123456

pidfile /var/run/redis.pid
port 6379
dir "/root/redis-7.2.4/data"
logfile 6379.log
###注意防火墙,一旦是公司的,必须加密码,并且密码复杂一些
# 2 redis-server ./redis-conf

# 3 允许远程链接
	-方式一: win :redis-cli -h 10.0.0.111 -p 6379
	-方式二: resp 远程链接
# 4 如果连不上:关防火墙
	systemctl stop firewalld
    systemctl status firewalld




### 客户端连接,常用操作###
redis-cli -h 10.0.0.111 -p 6379
redis-cli -h 10.0.0.111 -p 6379 -a 123456
ping   #返回PONG,说明联通的

## 有密码的情况可以两种登陆方式
# 方式一
redis-cli -h 127.0.0.1    -p 6370 -a 123456
# 方式二
先登陆,再通过auth输入密码


#### redis配置文件

## redis-cli进入
config get 名字  # 从客户端可以拿到服务端的配置

CONFIG GET *   # 390对--》195多键值--》配置信息
	-bind
    -port
CONFIG SET maxmemory 128M  # 设置最大使用的内存
CONFIG set requirepass 654321  # 设置密码 ---》客户端可以改服务端密码
# 永久生效
CONFIG REWRITE  # 保存到配置文件




### redis 入侵到 linux操作系统
https://cloud.tencent.com/developer/article/1440296
# 避免:
	-运行redis进程的用户不要用root
    -运行redis的用户不允许登录
    

    

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

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

相关文章

ORB-SLAM2运行环境搭建

操作系统:Ubuntu20.04 1.安装Eigen3 推荐大家安装版本 3.2.10 链接:https://eigen.tuxfamily.org/index.php?titleMain_Page mkdir build cd build cmake .. sudo make install2.安装Pangolin 推荐安装0.5版本 链接:https://github.com…

【生成式AI-二-强大的AI下我们可以做什么】

强大的AI下我们可以做什么 人工智能的厉害之处我们可以作什么评估模型好坏的难度prompt engineering微调fine tune 人工智能的厉害之处 人工智能并不是忽然就爆火的,事实上,很久以前就已经有深度学习、机器学习这些概念了,那现在的人工智能和…

MybatisPlus常见注解及配置

什么是MybatisPlus? MybatisPlus(简称MP)是一个基于MyBatis的增强工具,它在MyBatis的基础上进行了扩展,旨在简化MyBatis的操作,提高开发效率。MybatisPlus继承了MyBatis原生的所有特性,并添加了一些额外的…

【C++刷题】优选算法——BFS第三辑

多源BFS问题解决:用 BFS 解决边权为1的多源最短路问题 解法一:把多源最短路问题转化为若干个单源最短路问题 解法二:把所有的源点当成一个“超级源点”,从而转化为单源最短路问题(推荐) 单源最短路问题的解…

Linux进程--进程查询和创建

目录 一、前言二、进程查询三、进程创建1.创建操作2.返回值疑云 一、前言 本篇文章的探讨是基于一定的进程理解的,在此基础上对有关进程的操作进行讲解。 二、进程查询 首先我们来认识一下进程查询的指令 ps ajx |head -1&& ps ajx |grep process |grep…

B1.5 EL0视角下的软件控制功能

快速链接: . 👉👉👉 ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 付费专栏-付费课程 【购买须知】个人博客笔记导读目录(全部) B1.5 EL0视角下的软件控制功能 以下章节描述了软件控制功能的EL0视图: 异常处理 等待中断和等待事件

Dubbo源码深度解析(二)

接着《Dubbo源码深度解析(一)》继续讲,上篇博客主要讲Dubbo提供的三个注解的作用,即:EnableDubbo、DubboComponentScan、EnableDubboConfig。其中后两个注解是在EnableDubbo上的,因此在启动类上加上EnableDubbo注解,等…

Java并发—volatile关键字的作用及使用场景

在这篇文章Java并发—Java内存模型以及线程安全-CSDN博客多次提及volatile关键字,这是一个非常重要的概念,主要用于多线程编程中,它确保了变量的可见性和禁止指令重排序,但不保证原子性,下面详细解释volatile关键字的作…

使用SpringAOP实现公共字段填充

文章目录 概要整体架构流程技术细节小结 概要 在新增员工或者新增菜品分类时需要设置创建时间、创建人、修改时间、修改人等字段,在编辑员工或者编辑菜品分类时需要设置修改时间、修改人等字段。这些字段属于公共字段,也就是也就是在我们的系统中很多表…

Flux:Midjourney的新图像模型挑战者

--->更多内容&#xff0c;请移步“鲁班秘笈”&#xff01;&#xff01;<--- Black Forest Labs是一家由前Stability.ai开发人员创立的AI初创公司&#xff0c;旨在为图像和视频创建尖端的生成式 AI 模型。这家初创公司声称&#xff0c;其第一个模型系列Flux.1为文本到图像…

【FAQ】为啥MultipartFile 的InputStream available会为0

背景 在Spring boot 文件上传案例中可能会存在获取MultipartFile InputStream.available()方法为0的情况&#xff0c;导致在文件上传到Minio后对象大小为0的情况 问题原因 在介绍问题原因前我们先探究下MultipartFile 是怎么实现的 这里只是剖析InputStream&#xff0c;所以…

Linux驱动入门实验班day03-另一种注册cdev的方式

问题&#xff1a;原来的函数/*major register_chrdev(0, "100ask_hello", &hello_drv);*/会将主设备号major对应的所有次设备号&#xff0c;对应的设备节点&#xff0c;总是访问到驱动程序hello_drv。 这个问题&#xff0c;会导致主设备号不够用。 解决方式&am…

c++ - unordered_set与unordered_map模拟实现

文章目录 前言一、unordered_set模拟实现二、unordered_map模拟实现 前言 1、unordered_set与unordered_map的介绍与接口使用可参考&#xff1a;unordered_set 、 unordered_map。 2、unordered_set和 unordered_map 的底层实现都是基于哈希表的。哈希表是一种通过哈希函数组织…

HarmonyOS(48) 挂载卸载事件 UI组件的添加和删除监听

UI组件的添加和删除监听 一级目录示例代码参考资料 一级目录 我们通过if条件添加组件的时候&#xff0c;是可以通过onAttach、onDetach、onAppear、onDisAppear来监听组件的添加和删除。 示例代码 // xxx.ets// xxx.ets import { promptAction } from kit.ArkUIEntry Compo…

2024华数杯数学建模A题完整论文讲解(含每一问python代码+结果+可视化图)

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了2024 年华数杯全国大学生数学建模竞赛A题机器臂关节角路径的优化设计完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成…

VBA信息获取与处理:VBA代码分类及如何利用代码自动关闭空闲文件

《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。这部教程给大家讲解的内容有&#xff1a;跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互…

LC65---2164.对奇偶下标分别排序(排序)--Java版

1.题目 2.思路 &#xff08;1&#xff09;分别提取奇数下标和偶数下标的元素。 &#xff08;2&#xff09;对奇数下标的元素按非递增顺序排序&#xff0c;对偶数下标的元素按非递减顺序排序。 (3)最后将排列好的数字进行合并。 补充&#xff1a; 3.代码实现 class Solution…

PyCharm 2024.1 总结和最新变化

​ 您好&#xff0c;我是程序员小羊&#xff01; 前言 PyCharm 2024.1 是 JetBrains 最新发布的Python集成开发环境&#xff08;IDE&#xff09;&#xff0c;旨在提供更强大的功能和更好的用户体验。以下是对这个版本的总结和最新变化的介绍 智能代码建议和自动完成&#xff1a…

C语言 ——— 学习并使用 strerror 函数

目录 学习strerror函数 使用strerror函数 学习strerror函数 库函数在执行的时候&#xff0c;发生了错误&#xff0c;会将这个错误码存放在errno这个变量中&#xff0c;而errno是C语言提供的一个全局变量 而strerror函数是一个错误报告函数&#xff0c;可以将对应的错误码转…

roomformer-端到端矢量检测模型

论文&#xff1a;Connecting the Dots: Floorplan Reconstruction Using Two-Level Queries 论文地址&#xff1a;https://arxiv.org/pdf/2211.15658 code&#xff1a;https://github.com/ywyue/RoomFormer or https://github.com/woodfrog/poly-diffuse 参考&#xff1a;ht…