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可视化工具来连接进行验证一下

相关推荐
難釋懷32 分钟前
Redis网络模型-IO多路复用模型-poll模式
网络·数据库·redis
IT_陈寒2 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
淇奥72 小时前
【MyBatis-Plus】MyBatis-Plus 学习笔记
后端
_code_bear_2 小时前
OpenSpec CLI 与 OPSX 工作流说明
前端·后端·架构
用户8356290780513 小时前
使用 Python 在 PowerPoint 中添加并控制音频播放
后端·python
用户8356290780513 小时前
使用 Python 在 PowerPoint 中生成并自定义饼图与环形图
后端·python
念何架构之路3 小时前
Go语言常见并发模式
开发语言·后端·golang
Cosolar3 小时前
大模型应用开发面试 • 第4期|A2A、复杂挑战与具身智能
人工智能·后端·面试
o_insist4 小时前
Docker 入门:从镜像、容器到项目部署
docker·自动化运维·devops
迷渡4 小时前
聊一聊 Bun 用 Rust 重写这件事
开发语言·后端·rust