Windows版Docker安装Redis教程(保姆级),适合开发环境快速提供Redis服务

本文详细介绍了如何在Docker中搜索、拉取Redis镜像,创建并管理运行的容器,包括端口映射、容器状态检查和操作命令如启动、停止和重启。

1. 搜索Redis镜像,命令如下

docker search redis

2. 将镜像文件拉取到本地,命令如下

docker pull redis

注意此命令执行后拉取的是redis最近的一个版本,可以看到上图已经标明:Using default tag: latest。如果需要执行拉取镜像的版本,可以使用docker pull redis:version命令,其中version代表着你要拉取的版本。

3.查看镜像是否已经下载到本地,命令如下

docker images

4.创建一个Redis运行容器,命令如下

docker run -it -d --name redis -p 6379:6379 redis --bind 0.0.0.0 --protected-mode no

-d 代表Redis容器后台运行

--name redis 给创建好的容器起名叫redis

-p 6379:6379 将容器的6379端口映射到宿主机的6379端口,注意:前面的6379是代表宿主  机端口,后面的6379才是容器端口

--bind 0.0.0.0 代表谁都可以访问redis服务(任何IP地址)

--protected-mode no 关闭redis的保护模式,允许其他机器连接Redis,如果设置为yes,那么只允许我们在本机的回环连接,其他机器无法连接

命令执行完之后,可以看到,已经给我们返回了Redis容器ID

5. 查看已经在运行的容器,命令如下

docker ps 

可以看到我本地已经运行了2个容器,一个redis容器,一个mysql容器

6.查看历史运行的所有容器,命令如下

docker ps -a 

7. 使用工具连接Redis服务

7. 停止和重启 Redis 命令如下

docker stop redis  停止redis容器

docker restart redis  重启redis容器

虽然给定引用中没有直接关于C#部署Redis的详细步骤教程,但可以结合相关信息构建一个大致的流程。 ### 1. 部署Redis服务 - **使用Docker部署**: - 首先需要下载Redis配置文件,进入redis配置文件目录`cd /home/docker/redis/conf`,然后下载示例配置文件`wget http://download.redis.io/redis-stable/redis.conf` [^2]。 - 启动redis容器,使用如下命令: ```bash docker run -d -p 6379:6379 \ --name redis \ --restart=always \ --privileged=true \ -v /root/tool/redis/data:/data \ -v /root/tool/redis/conf/redis.conf:/etc/redis/redis.conf \ redis:6.0.20 \ redis-server /etc/redis/redis.conf \ --requirepass 123456 \ --appendonly yes ``` 该命令会在Docker中启动一个Redis容器,并进行相应的配置,如挂载数据目录、配置文件,设置密码和开启持久化等 [^5]。 - **集群部署(可选)**: 如果需要部署Redis Cluster(6节点,3主3从),可以使用以下命令: ```bash redis-cli --cluster create 192.168.1.1:7000 192.168.1.2:7000 192.168.1.3:7000 192.168.1.4:7000 192.168.1.5:7000 192.168.1.6:7000 --cluster-replicas 1 ``` 该命令参考Redis官方文档部署集群 [^1]。 ### 2. C#连接Redis 在C#中连接Redis,若使用Redis Sentinel,需要替换 “your_sentinel_address” 和 “your_master_name” 为实际的Redis Sentinel地址和主节点的名称。以下是一个简单示例: ```csharp // 此示例需要使用StackExchange.Redis库 using StackExchange.Redis; using System; class Program { static void Main() { // 连接到Redis Sentinel var sentinelOptions = new ConfigurationOptions { EndPoints = { "your_sentinel_address" }, ServiceName = "your_master_name", TieBreaker = "", DefaultVersion = new Version(3, 0), AbortOnConnectFail = false }; var sentinel = ConnectionMultiplexer.Connect(sentinelOptions); var master = sentinel.GetDatabase(); // 订阅节点状态变化事件 var sub = sentinel.GetSubscriber(); sub.Subscribe("+switch-master", (channel, message) => { Console.WriteLine($"New master: {message}"); }); // 模拟主节点故障转移时,会输出新的主节点信息 } } ``` 这个示例演示了如何使用C#连接到Redis Sentinel,获取主节点信息,并订阅节点状态变化事件。在实际应用中,可能需要处理更多的异常情况、安全性问题,并适应具体用例 [^3]。 ### 3. 与Redis交互 启动Redis服务进程后,可以使用测试客户端程序`redis-cli`和Redis服务交互。在C#中也可以通过相应的库进行数据操作,例如设置和获取字符串类型的数据: ```csharp // 假设已经连接到Redis数据库 var db = master; db.StringSet("foo", "bar"); var value = db.StringGet("foo"); Console.WriteLine(value); ``` ### 4. 处理异常和安全性 在实际应用中,需要处理更多的异常情况,如连接失败、操作超时等。同时,要注意安全性问题,如密码保护、网络隔离等。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值