【通过docker部署redis7.0】

文章目录


前言

Redis是一种开源的内存数据结构存储系统,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。它可以用作数据库、缓存和消息中间件,并在性能、可扩展性和灵活性方面表现出色。


提示:以下是本篇文章正文内容

一、介绍Redis

Redis是一个完全开源免费的高性能(NOSQL)的key-value数据库。它遵守BSD协议,使用ANSI C语言编写,并支持网络和持久化。Redis拥有极高的性能,每秒可以进行11万次的读取操作和8.1万次的写入操作。它支持丰富的数据类型,包括String、Hash、List、Set和Ordered Set,并且所有的操作都是原子性的。此外,Redis还提供了多种特性,如发布/订阅、通知、key过期等。Redis采用自己实现的分离器来实现高速的读写操作,效率非常高。Redis是一个简单、高效、分布式、基于内存的缓存工具,通过网络连接提供Key-Value式的缓存服务。

Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。

Redis 有以下这五种基本类型:

String(字符串)

Hash(哈希)

List(列表)

Set(集合)

zset(有序集合)

Redis 有以下三种特殊的数据结构类型:

Geospatial

Hyperloglog

Bitmap

二、部署docker

可以参考我之前部署docker教程

三、部署redis

3.1 创建文件存储

代码如下(示例):

c 复制代码
mkdir -p /home/app/redis/data
touch /home/app/redis/redis.conf

3.2 创建容器

代码如下(示例):

c 复制代码
docker run --restart=always \
-p 6379:6379 \
--name redis \
-v /home/redis/redis.conf:/etc/redis/redis.conf \
-v /home/redis/data:/data \
--log-opt max-size=100m --log-opt max-file=3 \
-d redis:7.0.12 redis-server /etc/redis/redis.conf

-restart=always 设置容器总是开机启动;
-p 6379:6379 将6379端口挂载出去
--name 给这个容器取一个名字
-v 数据卷挂载 /home/dj/redis/redis.conf:/etc/redis/redis.conf此处是将宿主机 /home/dj/redis/redis.conf 文件映射到 redis 容器下的 /etc/redis/redis.conf,此处你也可以理解为docker容器和宿主机共享这个文件。
-d redis:7.0.12 后台运行容器,不加-d就是直接在控制台输出,关闭窗口即停止容器。
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的 redis.conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是宿主机下共享文件。
--log-opt max-size=100m --log-opt max-file=3max-size指定日志文件大小上限max-file:指定日志文件个数

3.3 测试连接

若使用外部连接,需要开放防火墙端口策略,或者云服务器的话配置安全组策略

代码如下(示例):

c 复制代码
#进入容器
docker exec -it myredis bash
redis-cli
set k1 v1 
get k1
#若上面命令报错,执行这个命令后再重复
auth ningzaichun 

相关推荐
看天走路吃雪糕11 分钟前
墨者:SQL注入漏洞测试(布尔盲注)
数据库·sql·sqlmap·墨者学院·布尔盲注
*愿风载尘*11 分钟前
ksql连接数据库免输入密码交互
数据库·后端
追风少年浪子彦13 分钟前
mybatis-plus实体类主键生成策略
java·数据库·spring·mybatis·mybatis-plus
运维成长记13 分钟前
关于linux运维 出现高频的模块认知
运维·职场和发展·云计算
溟洵17 分钟前
Qt 窗口 工具栏QToolBar、状态栏StatusBar
开发语言·前端·数据库·c++·后端·qt
problc41 分钟前
大模型API和秘钥获取地址
数据库·redis·缓存
Antonio91542 分钟前
【Redis】Linux 配置Redis
linux·数据库·redis
张火火isgudi43 分钟前
CentOS8 使用 Docker 搭建 Jellyfin 家庭影音服务器
服务器·docker·容器
IT成长日记1 小时前
【自动化运维神器Ansible】Ansible常用模块之archive模块详解
运维·自动化·ansible·常用模块·archive
晴天¥1 小时前
阶段1--域名服务器
运维·服务器·网络