【通过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 

相关推荐
2301_80329775几秒前
Shell编程值正则表达式和文本处理器
数据库·mysql·正则表达式
itachi-uchiha几秒前
Linux上的rm和srm 命令
linux·运维·服务器
Auc242 分钟前
OJ判题系统第6期之判题逻辑开发——设计思路、实现步骤、代码实现(策略模式)
java·开发语言·docker·容器·策略模式
快乐肚皮10 分钟前
深入解析Docker:核心架构与最佳实践
java·运维·docker·容器
Waitccy13 分钟前
Linux 系统安全基线检查:入侵防范测试标准与漏洞修复方法
linux·运维·网络·安全·系统安全·等保
TDengine (老段)1 小时前
基于 TSBS 标准数据集下 TimescaleDB、InfluxDB 与 TDengine 性能对比测试报告
java·大数据·开发语言·数据库·时序数据库·tdengine·iotdb
TDengine (老段)1 小时前
TDengine 在金融领域的应用
大数据·数据库·物联网·金融·时序数据库·tdengine·涛思数据
鸿蒙布道师1 小时前
宇树科技安全漏洞揭示智能机器人行业隐忧
运维·网络·科技·安全·机器学习·计算机视觉·机器人
标贝科技1 小时前
标贝科技:大模型领域数据标注的重要性与标注类型分享
数据库·人工智能
带鱼吃猫1 小时前
Linux系统:文件系统前言,详解CHS&LBA地址
linux·运维·服务器