当前位置:   article > 正文

redis在Dokcer的安装使用

redis在Dokcer的安装使用

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
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

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
  • 1

image-20240627154144934

  • 改名

mv redis-stable/ redis
  • 1

image-20240627154423092

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

image-20240627155909459

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

redis-server
  • 1
  • 2
  • 3

image-20240627160104423

cd 
cd redis

ll

mv redis.conf redis.conf.bak

vi redis.conf
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

image-20240627161814087

image-20240627161748969

  • mkdir data
    
    redis-server ./redis.conf
    redis-cli -v
    ps aux |grep redis
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

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 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

vi redis.conf
  • 1

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54

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 # 后台运行
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

2 redis客户端操作

允许远程连接

# 关闭连接要先进入redis-cli
shutdown
# 启动
redis-server ./redis.conf
  • 1
  • 2
  • 3
  • 4

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的用户不允许登录
    

    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号