Redis作为项目中常用的中间件在项目开发中非常重要,从今天开始我们从搭建redis环境(docker),主从配置,哨兵策略,lua脚本开发,以及它的常用插件布隆过滤器,限流插件好Redisson一步步熟练使用Redis,使你未来项目开发得心应手。
使用docker中安装redis。
docker search redis
拉取最新的redis镜像。
docker pull redis
docker image ls
mkdir -p 6379/conf 6379/data 6379/log
mkdir -p 6380/conf 6380/data 6380/log
mkdir -p 6381/conf 6381/data 6381/log
在redis/6379/log下添加文件redis.log。
在redis/6380/log下添加文件redis.log。
在redis/6381/log下添加文件redis.log。
touch redis.log
将日志文件调整为可读\写\执行
chmod 777 redis.log
https://redis.io/docs/management/config/
上传配置文件到/usr/local/software/redis/6379/conf/
上传配置文件到/usr/local/software/redis/6380/conf/
启动容器会有: The TCP backlog setting of 511 cannot be enforced … 警告。
解决方案:
创建容器时添加 :–sysctl net.core.somaxconn=1024
启动容器会有:==WARNING overcommit_memory is set to 0!==警告。
WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
解决方案:
编辑linux /etc/sysctl.conf文件,设置为1。
[root@localhost log]# vim /etc/sysctl.conf
[root@localhost log]# sysctl -p
net.ipv4.ip_forward = 1
vm.overcommit_memory = 1
[root@localhost log]# docker restart redis_6379
docker run -it \
--name redis_6379 \
--privileged \
-p 6379:6379 \
--network wn_docker_net \
--ip 172.18.12.10 \
--sysctl net.core.somaxconn=1024 \
-e TIME_ZONE="Asia/Shanghai" -e TZ="Asia/Shanghai" \
-v /usr/local/software/redis/6379/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /usr/local/software/redis/6379/data/:/data \
-v /usr/local/software/redis/6379/log/redis.log:/var/log/redis.log \
-d redis \
/usr/local/etc/redis/redis.conf
[root@localhost log]# docker exec -it redis_6379 bash
root@648da17d7439:/data# redis-cli
127.0.0.1:6379> ping
PONG