docker 安装 redis
拉取最新版的 Redis 镜像
docker pull redis:latest
运行容器
docker run -it -p 6379:6379 redis
docker run -p 6379:6379 --privileged=true --name redis \
-v /mydata/redis/data:/data \
-d redis redis-server --appendonly yes
docker run -p 6379:6379 --name redis \
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes
命令解释:
-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
--name redis 指定该容器名称,查看和进行操作都比较方便。
-v 挂载目录,规则与端口映射相同。
为什么需要挂载目录:个人认为docker是个沙箱隔离级别的容器,这个是它的特点及安全机制,不能随便访问外部(主机)资源目录,所以需要这个挂载目录机制。
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis
加载容器内的conf文件,最终找到的是挂载的目录/usr/local/redis/redis.conf
1、建议使用免费版的 AnotherRedisDesktopManager. Redis客户端
地址:https://github.com/qishibo/AnotherRedisDesktopManager/releases
2、
# wget http://download.redis.io/releases/redis-6.2.6.tar.gz # tar xzf redis-6.2.6.tar.gz
# cd redis-6.2.6
# make
执行完 make 命令后,redis-6.0.8 的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli:
下面启动 redis 服务:
# cd src
# mv redis-server /usr/bin
# mv redis-cli /usr/bin 这样就能在任何目录下执行redis-server 和redis-cli命令了
在 redis-6.2.6目录修改redis.conf配置
1)、bind 127.0.0.1#注释掉
2)、需要设置密码在redis.conf里增加requirepass 'secretkey'/或者在客户端执行config set requirepass 'wtx'
3)在redis.conf里的GENERAL将daemonize设置的值设置为yes可以将REDIS设置成守护进程。
在设置好这些之后,有时候好像还是连接不上,这时候就重启一下服务器,再连接客户端Another Redis DeskTopManager.
- RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。
- AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写(rewrite),使得 AOF 文件的体积不会超出保存数据集状态所需的实际大小。
- Redis 还可以同时使用 AOF 持久化和 RDB 持久化。 在这种情况下, 当 Redis 重启时, 它会优先使用 AOF 文件来还原数据集, 因为 AOF 文件保存的数据集通常比 RDB 文件所保存的数据集更完整。
- 你甚至可以关闭持久化功能,让数据只在服务器运行时存在。