程序员的收藏

redis安装和使用Python远程连接redis

2019-11-01  本文已影响0人  xywh

最近研究redis,废话少说..从头开始.安装redis

安装配置redis

    1首先下载redis

            2019年11月1日现在版本是5.0

             直接下载安装包

             地址:http://www.redis.cn/download.html

             下载的包:redis-5.0.4.tar.gz

             安装我参考的是

             https://blog.csdn.net/qq_33417321/article/details/88924934

    2我是用虚拟机进行安装的系统centos7上传到虚拟机进行安装

             1.上传目录/usr/local/

             2.然后解压安装包

                 tar -xzvf redis-5.0.4.tar.gz

             3.解压后进入到对应目录,执行命令编译

                 cd /redis-5.0.4

                 make

             4.编译后将redis安装到指定目录

                 make PREFIX=/usr/local/redis install

             5.将编译目录中的redis.conf复制到安装目录中

                 cd /usr/local/redis-5.0.4

                 cp redis.conf /usr/local/redis/bin

    3调整redis的配置文件

             1.进入到安装目录调整配置文件

                 cd /usr/local/redis/bin

                 vi redis.conf

             2.设置后台启动

                 将daemonize yes 调整为 daemonize no

             3.设置远程可接入

                 在redis.conf中将 bind 127.0.0.1注释掉

                 在配置文件中找到protected-mode yes 修改为 protected-mode no

    4启动redis

             1.进入安装目录

                 cd /usr/local/bin/redis/bin

             2.指定配置文件启动

                 ./redis-server redis.conf

    5开启centos7相关与redis的端口

             redis默认端口为6379,不调整就需要再centos7中开放端口

             参考

             https://www.cnblogs.com/oskyhg/p/8011001.html

             开放端口过程

                 1.查看当前已经开放端口

                          firewall-cmd --list-ports

                 2.发现没有6379则使用命令开放端口

                             firewall-cmd --zone=public --add-port=6379/tcp --permanent

                                       命令含义:

                                                    --zone #作用域

                                                    --add-port=6379/tcp  #添加端口,格式为:端口/通讯协议

                                                    --permanent  #永久生效,没有此参数重启后失效

                 3.重启防火墙,才能使得开放端口生效

                                  firewall-cmd --reload

                 4.查看开放的端口中是否已经有6379

                                  firewall-cmd --list-ports

使用Python链接redis

    1.首先安装redis的库

             pip install redis

    2.写python程序

             import redis

             conn =redis.Redis(host="192.168.1.55",port=6379);

             conn.set("x1","hello");

             val=conn.get("x1");

             print(val);

中间遇到问题集锦

1.redis只编译未安装

只编译不安装进入编译目录也是能正常使用redis的

2.没有开启redis后台

没开启redis后台启动比较恶心.

3.配置文件配置的时候没找到位置

4.使用Python链接redis时未开放服务器防火墙端口

报错

24209:C 31 Oct 2019 18:07:39.352 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

24209:C 31 Oct 2019 18:07:39.352 # Redis version=5.0.4, bits=64, commit=00000000, modified=0, pid=24209, just started

24209:C 31 Oct 2019 18:07:39.352 # Warning: no config file specified, using the default config. In order to specify a config file use ./src/redis-server /path/to/redis.conf

24209:M 31 Oct 2019 18:07:39.353 * Increased maximum number of open files to 10032 (it was originally set to 1024).

24209:M 31 Oct 2019 18:07:39.353 # Could not create server TCP listening socket *:6379: bind: Address already in use

5.使用Python链接redis时没有安装redis的库

报错

No module named redis

6.使用python链接redis的时候没有给redis开启远程访问

报错

redis.exceptions.ResponseError: DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.

7.使用python链接redis时端口参数写错了

报错

TypeError: __init__() got an unexpected keyword argument 'post'

踩的坑都是二货坑..仅作参考请勿嘲笑.

总归最后安装好了redis,并且用python能链接上了..做一个记录,防止未来忘了.也帮助其他想要安装的同胞们减少踩坑过程

上一篇下一篇

猜你喜欢

热点阅读