Docker入门系列之手把手教学安装Redis

提到缓存我们就会条件反射的想起Redis,没办法,使用太宽泛了,而且读取效率高,轻便好用

Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库。其具备如下特性:

  • 基于内存运行,性能高效
  • 支持分布式,理论上可以无限扩展
  • key-value存储系统
  • 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

相比于其他数据库类型,Redis具备的特点是:

  • C/S通讯模型
  • 单进程单线程模型
  • 丰富的数据类型
  • 操作具有原子性
  • 持久化
  • 高并发读写
  • 支持lua脚本

Redis的应用场景有哪些?

Redis 的应用场景包括:缓存系统("热点"数据:高频读、低频写)、计数器、消息队列系统、排行榜、社交网络和实时系统。

这里我带大家在Docker里安装Redis

2.这里我就直接使用命令docker pull redis拉去最新的Redis镜像了,当然也可以使用命令docker pull redis:版本号来拉取指定版本
3.安装成功后通过命令docker images来进行验证,这时候发现已经安装成功

如果我们手误下载错误的版本的话我们可以通过命令docker rmi IMAGE_ID删除我们刚才下载好的Redis镜像

4.创建数据目录和配置文件,创建一个目录来存放Redis的配置文件和数据,方便我们后续的维护

创建数据目录

js 复制代码
mkdir -p docker/redis
mkdir docker/redis/data

创建配置文件

这里我们需要使用Redis的配置文件,我们可以去官网地址中找我们想要版本号的config配置文件 这里我本地创建了一个文件,然后选择最上面的一个配置文件点进去 将里面的全部内容复制到我本地新建的redis.conf文件中,然后修改需要修改的属性

常见的修改配置 ,如果我们使用vim直接在linux里创建的配置文件,那么我们可以通过命令eg. :/appendonly来查找关键字,其中:/后面跟需要查找的信息

js 复制代码
# 将no改为yes
appendonly yes

# 将bind注释掉,否则只能本机访问redis,我们也可以根据实际情况配置IP
# bind 127.0.0.1 -::1

# 设置redis密码,一般我们自己使用的话不需要设置密码,我就不设置了
# requirepass [密码]

这里我分享一下我修改后的配置文件,有需要可以直接取链接redis.conf

修改完成后通过SSH工具或者其他方式上传到我们的指定目录位置

这里我推荐的工具是 Finallshell是开源免费的,操作简单。

还有一个工具也挺不错的,可以免费使用Xterminal,目前这两个我都在使用,Xterminal是我最近才发现的宝藏软件,目前使用着也很舒服,还可以记笔记。

5.创建Redis容器并启动
js 复制代码
docker run \
-p 6379:6379 \
--name redis \
-v /docker/redis/redis.conf:/etc/redis/redis.conf \
-v /docker/redis/data:/data \
--restart=always \
-d \
redis:latest \
redis-server /etc/redis/redis.conf

命令解释:

js 复制代码
docker run \ 
-p 6379:6379 \ docker与宿主机的端口映射
--name redis \ redis容器的名称(以后在docker可以通过这个名称执行相应操作)
-v /docker/redis/redis.conf:/etc/redis/redis.conf \ 挂载redis.conf文件
-v /docker/redis/data:/data \ 挂载redis的持久化数据
--restart=always \ 设置redis容器随docker启动而启动
-d \ 后台运行并返回容器ID
redis:latest \ 
redis-server /etc/redis/redis.conf 指定redis在docker中配置文件路径,后台启动redis

这里可以看到我们的Redis容器启动成功了 我们也可以直接通过Redis可视化工具来连接进行验证一下

相关推荐
东风破_4 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
东风破_5 小时前
danci 项目(三):从 JSON 数据到 AI Coding,真实项目里的数据清洗、Prompt 和工程规范
前端·后端·node.js
东风破_5 小时前
danci 项目(一):从需求到架构,一个单词学习系统为什么会这样设计
前端·后端·node.js
jay神7 小时前
【计算机毕业设计】基于SpringBoot的程序教学辅助系统
java·前端·vue.js·spring boot·后端·毕业设计·课程设计
小张同学a.9 小时前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
2601_9620738110 小时前
Spring全面详解(基础版)
java·后端·spring
IT_陈寒10 小时前
Vite打包时的静态资源坑,我帮你踩过了
前端·人工智能·后端
考虑考虑10 小时前
kubectl命令
运维·后端·自动化运维
NJCloud10 小时前
Docker 容器技术入门:部署、核心概念与基础命令
运维·docker·容器
小白勇闯网安圈10 小时前
String、Hash、List、Set 四大数据结构与通用命令
redis