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

相关推荐
AOwhisky5 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
GoGeekBaird5 小时前
从 Prompt Engineering 到 Loop Engineering,我觉得 AI 开发这事儿终于开始变味了
后端·github
一条泥憨鱼5 小时前
【Redis】数据类型和常用命令
java·数据库·redis·后端·缓存
Oneslide6 小时前
初始化微信小程序
后端
程序员酥皮蛋6 小时前
docker基础
docker·容器·eureka
hboot6 小时前
AI工程师第一课 - Python
前端·后端·python
阿正的梦工坊7 小时前
【Rust】12-借用检查器与非词法生命周期
开发语言·后端·rust
小小工匠7 小时前
Redis 缓存替换策略:8 种淘汰策略与 LRU 实现剖析
数据库·redis·缓存
IT界的老黄牛8 小时前
RocketMQ 4.x 任意秒数延迟消息工程实战:MQ 粗延迟 + Redis 补精度 + MDC 链路透传
redis·rocketmq·事务消息·延迟消息
飞天狗1118 小时前
零基础JavaWeb入门——第2课:让网页“活”起来 —— JSP是什么?
java·开发语言·前端·后端·web