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

相关推荐
爬山算法13 分钟前
Hibernate(87)如何在安全测试中使用Hibernate?
java·后端·hibernate
WeiXiao_Hyy31 分钟前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
苏渡苇37 分钟前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·设计模式·学习方法·责任链模式
忆~遂愿1 小时前
CANN metadef 核心解析:计算图原型定义、算子元数据抽象与异构系统互操作机制
docker·容器
long3161 小时前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
rannn_1111 小时前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
短剑重铸之日1 小时前
《设计模式》第十一篇:总结
java·后端·设计模式·总结
说实话起个名字真难啊2 小时前
用docker来安装openclaw
docker·ai·容器
恬静的小魔龙2 小时前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
forestsea2 小时前
深入理解Redisson RLocalCachedMap:本地缓存过期策略全解析
redis·缓存·redisson