docker 实战,部署redis,解决redis版本太老报错问题。

最近一个项目接近尾声,准备部署上线,单每次运行的时候,Python在对redis进行hset操作时,传入mapping参数的时候,一旦参数字典的key稍微多一点,就报错。

redis.exceptions.ResponseError: wrong number of arguments for 'hset' command

一开始走了很多弯路,以为是代码逻辑出了什么问题,但本地的mac上测试都是好的,百度与google了一圈,就有一条消息说了,可能是redis版本的问题,查了一下跑服务的服务器redis版本是通过我前面的yum方式安装的,一看版本是3.2的,好像是老了点,再看本地mac上面的版本是5.0的,那就换呗。

就写个流水账,给自己留给记录。

1.前面通过yum安装的redis,首先通过service redis stop关闭正在运行的redis进程,然后通过yum卸载redis

2.这次我不准备通过安装的方式装redis,准备通过docker来使用部署redis,刚刚可以把前面学的那一点点docker知识用起来。

通过https://hub.docker.com/_/redis找到redis的信息,我下载的是5.0.12

3.然后参考菜鸟编程网站

https://www.runoob.com/docker/docker-install-redis.html

启动该镜像,并执行容器,在运行的时候,主要是关注加上一个-p,做好端口转换。

4.当docker正常运行之后,当然可以通过

docker exec -it redis-test /bin/bash

这样的命令,进入容器里面操作redis,但我感觉太蛮烦了,所以我准备在服务器上面就装一个redis-cli

5.参考https://blog.csdn.net/mijichui2153/article/details/105433929

  1. wget http://download.redis.io/redis-stable.tar.gz 
  2.   
  3.  tar -xzvf redis-stable.tar.gz
  4.  
  5.  cd redis-stable
  6.   
  7.  make
  8.  
  9. cp src/redis-cli /usr/local/bin/

安装redis-cli以后到时候测试就更加方便了

话说,docker真的很方便,部署上线使用的好工具啊

原文地址:https://www.cnblogs.com/sidianok/p/14840501.html