1、拉取redis镜像
docker pull redis
2、创建存放redis文件夹用于存放redis,用于开启redis的持久化
[root@iZuf6it9l5fo5yy0o00tboZ /]# mkdir /usr/data/redis/data
3、使用redis镜像运行redis容器
[root@iZuf6it9l5fo5yy0o00tboZ /]# docker run -p 6379:6379 -v /usr/data/redis/data/:/data --restart=always --name redisServer -d redis redis-server --appendonly yes --requirepass "111111"
命令说明:
-p:宿主机端口与容器端口映射,前面的端口为主机映射端口(需配置服务器安全组),后面的端口为镜像开放的端口
-v:挂载,将容器中的redis持久化数据挂载到宿主机,避免容器重启导致的数据丢失。
--restart=always:无论什么情况挂壁,总是重启
--name:容器名称
-d:使用指定的镜像,在后台运行容器
--appendonly yes:redis运行时开启持久化
--requirepass “111111”:设置redis登陆密码
4、测试连接
5、延申
1.NOAUTH问题:进入docker,使用redis-cli操作redis,提示 NOAUTH Authentication required.,输入密码即可解决 auth 你的密码
[root@iZuf6it9l5fo5yy0o00tboZ /]# docker exec -it redisServer /bin/bash
root@1afasifsd8a:/# redis-cli
127.0.0.1:6379> info
NOAUTH Authentication required.
127.0.0.1:6379> info
NOAUTH Authentication required.
127.0.0.1:6379> get "ceshi"
(error) NOAUTH Authentication required.
127.0.0.1:6379> AUTH 111111
OK
127.0.0.1:6379> get "ceshi"
"ceshi"
2.redis命中率的问题
查看redis info,有两个参数,keyspace_hits表示命中数,keyspace_misses表示未命中数:命中率 = keyspace_hits / (keyspace_hits + keyspace_misses)。
root@1afasifsd8a:/# redis-cli
127.0.0.1:6379> info
# Stats
keyspace_hits:5
keyspace_misses:0
在高并发的互联网系统中,缓存的命中率是至关重要的指标,通常来讲,缓存的命中率越高则表示使用缓存的收益越高,应用的性能越好(响应时间越短、吞吐量越高),抗并发的能力越强。如何提高redis缓存命中率