1.概念

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

2.linux安装redis

2.1yum源安装redis(不推荐)

  1. #前提得配置好阿里云yum源,epel源
  2. #查看是否有redis包
  3. yum list redis
  4. #安装redis(一般在opt文件下)
  5. yum install redis -y
  6. #安装好,启动redis
  7. systemctl start redis
  1. redis-cli #redis 客户端工具
  2. #进入交互式环境后,执行ping,返回pong表示安装成功
  3. 127.0.0.1:6379> ping
  4. PONG

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

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

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

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

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

  1. vim redis.conf

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

把protected-mode 改为no

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

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

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

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

  1. redis-server

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

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

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

2.5其他命令

  1. 查看进程
  2.  
  3. ps -ef|grep redis
  4.  
  5. 杀死进程
  6.  
  7. ps -ef | grep redis | awk ‘{print $2}’ | xargs kill -9
  8.  
  9. 指定进程号删除
  10.  
  11. kill 2337
  12.  
  13. 关闭服务端
  14.  
  15. redis-cli shutdown

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

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

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

2.7redis设置密码

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

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

  1. #requirepass foobared    ------>(这里要说的是,在文件里面找了好久没找见啊)
  2.  
  3. 去掉前面的密码,并自己设置密码
  4.  
  5. requirepass mypassword
    然后重启,这里不多演示了,想学这一步查看前人笔记
2.7.2方法二:(简单好用)

先启动我们的redis

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

  1. [root@learning ~]# redis-cli
  2. 127.0.0.1:6379> config set requirepass mima
  3. OK
  4. 127.0.0.1:6379> auth mima
  5. OK

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

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

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

3.python安装与运行redis

导入包

  1. pip3 install redis

测试

  1. import redis
  2. conn = redis.Redis(host='192.168.88.128',port=6379)
  3.  
  4. conn.hset('xx','k1','konan')
  5. conn.hset('xx','k2','learning')
  6.  
  7. n1 = conn.hget('xx','k1').decode('utf-8')
  8. n2 = conn.hget('xx','k2').decode('utf-8')
  9. print(n1,n2)

效果:

4.总结

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

  #####

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

linux上部署redis实现与Python上的redis交互(有坑)的更多相关文章

  1. 安装redis,以及python如何引用redis

    下载 cd /usr/local/src/ wget http://download.redis.io/releases/redis-2.8.17.tar.gz 解压 tar -zxvf redis- ...

  2. 【Azure Redis 缓存】 Python连接Azure Redis, 使用redis.ConnectionPool 出现 "ConnectionResetError: [Errno 104] Connection reset by peer"

    问题描述 Python连接Azure Redis, 使用redis.ConnectionPool 出现 "ConnectionResetError: [Errno 104] Connecti ...

  3. Linux配置部署_新手向(四)——Redis安装与配置

    前言 配置完mysql之后,我们来紧接着安装redis,毕竟这些不用太多的思考,就是命令执行,配置文件,连接测试. 安装 首先,我们要看安装哪个版本,可以在Redis官网看看我们安装哪个版本. 在之前 ...

  4. 在Azure上部署IPv6的App通过IOS App Store审核

    随着中国企业出海Go Global,越来越多的用户开始在Global Azure部署自己的应用.由于对Global Azure功能和文档的不熟悉,使用过程中或多或少遇到了一些坑.事实上呢,这些并不是坑 ...

  5. Redis学习笔记(2)——Redis的下载安装部署

    一.下载Redis Redis的官网下载页上有各种各样的版本,如图 但是官网下载的Redis项目不正式支持Windows.如果需要再windows系统上部署,要去GitHub上下载.我下载的是Redi ...

  6. k8s 上部署 Redis 三主三从 集群

    目录 介绍 为什么要使用Redis? 什么是Redis群集? 在Kubernetes中部署Redis集群 从 GitHub 上下载: 创建pv 创建statefulset 创建service 初始化 ...

  7. linux服务器上部署jdk+tomcat+rocketmq+redis-cluster

    通常我们拿到一组干净的linux服务器,需要初始化安装一些基础软件,这里一站式介绍部署jdk+tomcat+rocketmq+redis-cluster 前言:如果要在多台服务器上安装,在一台服务器上 ...

  8. Redis在CentOS 7上的安装部署

    简介: Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集( ...

  9. Redis安装配置及在Python上的应用

    最近在使用Kazoo(开源电话系统) API时,一次请求的处理需要调用几次API,只为了得到一个name和id的对应关系,耗时非常大,开始想使用一种简单的实现,直接将对应关系保存到静态类的静态变量中, ...

随机推荐

  1. 强哥的分享--如何使用Spring Boot做一个邮件系统

    http://springboot.fun/ actuator是单机.集群环境下要使用Spring Boot Admin将各个单机的actuator集成越来 mvn clean package -Dm ...

  2. svn自动更新网站代码

    运行环境说明:svn的执行目录: /usr/bin/svnsvn版本库目录: /usr/local/nginx/html/svnrepos/coinhello (其中svnrepos是我各个项目版本库 ...

  3. H5新特性-----WebSocket

    WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在 W ...

  4. 最新机动车行驶证模板PSD可编辑分层文件下载

    机动车行驶证PSD模板下载地址: http://www.qijieworld.com/thread-1834752-1-1.html 模板为psd格式,内容可编辑修改,需使用 Photoshop CS ...

  5. 【Android】6.0 添加Menu菜单组件、Intent启动活动、显式Intent、隐式Intent

    1.0 在helloworld项目基础上创建活动SecondActivity: 2.0 其中main.xml: <?xml version="1.0" encoding=&q ...

  6. 我为什么不用Django而用Flask?

    前言 对于初学者来说,找到一个好的框架来学习或者项目开发都是非常有必要的,而当你有一定开发经验后,你应该选择适合当前业务需要的框架.我这里并不想探讨哪个框架好哪个不好,这个永恒的话题就跟探讨“世界上哪 ...

  7. 04_Spring中使用Quartz

    [Spring中使用SimplerTrigger] [QuartzTask.java] package com.higgin.task; import java.text.SimpleDateForm ...

  8. 转:ArcInfo数据格式介绍

    ArcInfo常用以下格式的数据:shp.Coverage..Raster CAD和Geodatabase.各种数据的组织形式不一样,其中shp.Coverage.Raster.CAD为文件类型,Ge ...

  9. 64位系统中连接Access数据库文件的一个问题

    近日在windows 7 64位系统中编译以前写的程序,发现在连接Access数据库时总是出现异常,提示“Microsoft.Jet.OLEDB.4.0”未在本机注册,同样的代码在32位的xp系统中却 ...

  10. Asterisk 对wav格式的支持

    经过测试wav格式文件仅支持PCM 8000kHz 16bit 单声道,非常蛋疼的一个原因,排查了好久! 关于C#支持的一些格式(Mono 单声道 .Stereo 立体声道) // Standard ...