【2023】使用docker方式部署redis

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 【2023】使用docker方式部署redis

* 使用Docker方式安装Redis

提前部署docker环境,这一点不多说,请参考docker安装文章,本文安装Redis版本为6.0

* Redis是什么?

Redis是一种内存数据结构存储系统,也被称为远程字典服务器,是一款开源的高性能键值对存储数据库。

它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,可以满足各种应用的需求。

Redis支持多种扩展方式,可以通过主从复制、哨兵、集群等方式来实现高可用和高性能。

Redis的特点包括高性能、数据持久化、支持事务、发布/订阅、Lua脚本等。

因此,Redis被广泛应用于缓存、消息队列、计数器、排行榜、实时消息等场景。

* 为什么要用Redis

Redis是一种高性能的键值对存储系统,因此可以用于处理许多用例,包括:

  1. 缓存:Redis可以将经常使用的数据缓存在内存中,以提高访问速度,从而加快应用程序的响应时间。
  2. 会话管理:Redis可以存储会话数据,这样在负载均衡器后的多个服务器之间共享会话数据就更加容易了。
  3. 计数器:由于Redis的高性能和原子性操作,在处理计数器等应用时,Redis是非常有用的。
  4. 队列:Redis可以被用来实现消息队列系统,以便于在应用程序的不同部分之间传递消息。
  5. 排行榜:Redis可以用于排序,例如计算一个用户在社交网络上的排名。

总之,Redis可以被用于任何需要高性能、可扩展性和灵活性的应用程序。

1.下载要使用的Redis镜像

可以使用docker pull redis命令获取镜像,默认为最新版。也可以使用docker pull redis:标签下载指定版本镜像。

可以在docker镜像仓库获取redis镜像

docker pull redis:6.0

2.使用docker启动Redis容器

docker run -itd --name redis-01 -p 6379:6379 redis:6.0
  • it表示在终端交互式操作
  • d表示在后台运行
  • –name指定容器名称
  • -p表示容器端口映射到宿主机端口

通过docker ps命令可以查看启动的容器

# docker ps
CONTAINER ID   IMAGE       COMMAND                   CREATED         STATUS         PORTS                                       NAMES
ea3ca1926781   redis:6.0   "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   redis-01

通过docker logs观察启动情况

# docker logs redis-01
1:C 03 May 2023 01:29:00.767 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 03 May 2023 01:29:00.767 # Redis version=6.0.16, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 03 May 2023 01:29:00.767 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 6.0.16 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 1
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               
1:M 03 May 2023 01:29:00.768 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1:M 03 May 2023 01:29:00.768 # Server initialized
1:M 03 May 2023 01:29:00.769 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled (set to 'madvise' or 'never').
1:M 03 May 2023 01:29:00.769 * Ready to accept connections

如果出现上述日志代表redis启动成功,如果失败则查看具体原因

3.通过exec进入Redis容器

启动容器后,可以使用docker exec命令进入到容器内部,执行相关操作

docker exec -it redis-01 /bin/bash
  • exec表示在运行的容器中执行命令
  • it表示以终端交互的方式执行命令
  • /bin/bash表示需要指定的命令
  • 运行结果如下所示:
[root@localhost ~]# docker exec -it redis-01 /bin/bash
root@ea3ca1926781:/data# 

进入容器后可通过redis-cli命令连接容器内的redis服务器,可通过set创建变量,get获取变量的值

root@ea3ca1926781:/data# redis-cli
127.0.0.1:6379> set val 1
OK
127.0.0.1:6379> get val
"1"
127.0.0.1:6379> 

可使用exit命令退出redis服务器

127.0.0.1:6379> exit
root@ea3ca1926781:/data# 

如果要退出容器则再输入一次exit命令即可。

可通过redis-cli --versionredis-server --version命令查看redis客户端和服务端版本

root@ea3ca1926781:/data# redis-cli --version
redis-cli 6.0.16
root@ea3ca1926781:/data# redis-server --version
Redis server v=6.0.16 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=281f24c34ac9a20

4.控制Redis服务器

可通过docker [start|stop|restart] redis-01控制redis服务器状态

5.Redis服务端和客户端

Redis是基于键值对存储的NoSQL数据库,其中的数据是存储在Redis服务器里的。

一个Redis服务器可同时与多个客户端创建连接,每个客户端都能像服务器发送命令请求,而服务器在收到命令请求后能向客户端返回结果。

可通过redis-cli命令创建客户端

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
5天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
28 3
国产数据实战之docker部署MyWebSQL数据库管理工具
|
21天前
|
JSON JavaScript 测试技术
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
【10月更文挑战第9天】使用Docker部署PPTist在线演示文稿应用
32 1
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
|
7天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
25 2
|
8天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
19 3
|
11天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
115 2
|
12天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
63 1
|
21天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
155 3
|
20天前
|
Web App开发 前端开发 测试技术
【Docker项目实战】使用docker部署tabler后台模版
【10月更文挑战第10天】使用docker部署tabler后台模版
30 0
【Docker项目实战】使用docker部署tabler后台模版
|
16天前
|
运维 Kubernetes 监控
掌握Docker容器化技术:构建、部署与管理的高效实践
【10月更文挑战第14天】掌握Docker容器化技术:构建、部署与管理的高效实践
32 0
|
17天前
|
关系型数据库 数据库 PostgreSQL
在docker上部署postgresSQL主从
通过以上步骤,我们完成了在Docker环境中部署PostgreSQL主从复制的基本配置。请注意,实际生产环境中还需考虑安全性增强(如SSL加密)、监控、自动故障切换等高级配置。此外,根据具体的业务需求和规模,可能还需要考虑使用更专业的解决方案或工具,如Patroni、PgBouncer等,来进一步提升数据库集群的稳定性和效率。
23 0