zoukankan      html  css  js  c++  java
  • linux上部署redis实现与Python上的redis交互(有坑)

    1.概念

      Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件

    2.linux安装redis

    2.1yum源安装redis(不推荐)

    #前提得配置好阿里云yum源,epel源
    #查看是否有redis包
    yum list redis
    #安装redis(一般在opt文件下)
    yum install redis -y
    #安装好,启动redis
    systemctl start redis

    redis-cli    #redis 客户端工具
    #进入交互式环境后,执行ping,返回pong表示安装成功
    127.0.0.1:6379> ping
    PONG

    2.2源码安装(编译安装)redis

      这里推荐使用编译安装,我们可以统一安装路径,一般linux软件约定安装目录在/opt/下面

      编译源码安装可以根据需求,安装最新的版本

    1.下载redis源码
    wget http://download.redis.io/releases/redis-4.0.10.tar.gz
    2.解压缩
    tar -zxf redis-4.0.10.tar.gz
    3.切换redis源码目录
    cd redis-4.0.104.编译源文件
    make 
    5.编译好后,src/目录下有编译好的redis指令
    6.make install 安装到指定目录,默认在/usr/local/bin

    2.3 redis文件配置(避免运行Python代码下报错,一定要进行配制)

    vim redis.conf

    按向下箭头找见下面白色的ip改成0.0.0.0:

    把protected-mode 改为no

    找到daemonize,可以看到reids默认情况下不是后台驻留程序,(将daemonize属性改为yes,表明需要在后台运行,这个根据你个人情况来搞,如果选择后台驻留,建议设一个密码)

    # By default Redis does not run as a daemon. Use 'yes' if you need it.
    # Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
    # daemonize no
    # 修改成:
    daemonize yes

    2.4.启动redis服务端 ----->坑在这里

     方式一,直接运行(不推荐)

    redis-server

     方式二,进入redis文件,指定加载文件运行------>配制好我们的文件后建议使用这个运行,像我使用其他的去和Python链接就会报错

    2.5使用redis服务端(重启一个服务)

    #执行客户端命令即可进入
    redis-cli  
    #测试是否连接上redis
    127.0.0.1:6379 > ping
    返回pong代表连接上了

    2.5其他命令

    查看进程
    
    ps -ef|grep redis
    
    杀死进程
    
    ps -ef | grep redis | awk ‘{print $2}’ | xargs kill -9
    
    指定进程号删除
    
    kill 2337
    
    关闭服务端
    
    redis-cli shutdown

    2.6关闭防火墙(重要)  --->这里我嫌麻烦给永久关闭了

      在Python中运行时有时候会报相关错误,要把防火墙关掉

    暂时关闭防火墙:(立即生效,开机重启,会重新打开) 
    service iptables stop 
    永久关闭防火墙(关机重启才会生效) 
    chkconfig iptables off

    2.7redis设置密码

    2.7.1方法一:(不推荐,因为找不到这一行在哪)

    1.在配置未检redis.conf中找导如下行:

    #requirepass foobared    ------>(这里要说的是,在文件里面找了好久没找见啊)

    去掉前面的密码,并自己设置密码

    requirepass mypassword
    然后重启,这里不多演示了,想学这一步查看前人笔记
    2.7.2方法二:(简单好用)

    先启动我们的redis

    双击脚本,再打开一个客户端

    [root@learning ~]# redis-cli
    127.0.0.1:6379> config set requirepass mima
    OK
    127.0.0.1:6379> auth mima
    OK

    查看密码(登陆后才能查看)

    关闭redis服务端(必须登录之后才行)

    注意,这里虽然这么能用,但是我测试好像是一次性的,你关闭后下次再次登录密码就失效了,但是一般在云端不会来回开关的,所以也不影响大家的使用,如果想永久使用,在配制文件中进行设置就ok,可以参考链接博客。

    3.python安装与运行redis

    导入包

    pip3 install redis

    测试

    import redis
    conn = redis.Redis(host='192.168.88.128',port=6379)
    
    conn.hset('xx','k1','konan')
    conn.hset('xx','k2','learning')
    
    n1 = conn.hget('xx','k1').decode('utf-8')
    n2 = conn.hget('xx','k2').decode('utf-8')
    print(n1,n2)

    效果:

    4.总结

      如果在Python运行过程中或报错,一般就是配置文件以及防火墙的问题,其他问题暂时本人没有遇到

      #####

      还要注意,对于刚开始学的同学,安装完一定要配置密码,现在有许多挖矿软件会自动扫描到云端的redis,为了安全起见一定要设置好密码

  • 相关阅读:
    SQL利用Case When Then多条件判断
    SQL 中LTrim、RTrim与Trim的用法
    SELECT 与 SET 对变量赋值的区别(存储过程)
    exec/sp_executesql语法
    SQLServer : EXEC和sp_executesql的区别
    使用系统监视器监视系统性能
    Centos6.5下OpenLdap搭建(环境配置+双机主从配置+LDAPS+enable SSHA)
    迁移与裁剪linux系统
    Windows Server 2008 R2远程桌面服务配置和授权激活(转)
    cookie、session、sessionid 与jsessionid(转)
  • 原文地址:https://www.cnblogs.com/LearningOnline/p/9456806.html
Copyright © 2011-2022 走看看