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,为了安全起见一定要设置好密码
linux上部署redis实现与Python上的redis交互(有坑)的更多相关文章
- 安装redis,以及python如何引用redis
下载 cd /usr/local/src/ wget http://download.redis.io/releases/redis-2.8.17.tar.gz 解压 tar -zxvf redis- ...
- 【Azure Redis 缓存】 Python连接Azure Redis, 使用redis.ConnectionPool 出现 "ConnectionResetError: [Errno 104] Connection reset by peer"
问题描述 Python连接Azure Redis, 使用redis.ConnectionPool 出现 "ConnectionResetError: [Errno 104] Connecti ...
- Linux配置部署_新手向(四)——Redis安装与配置
前言 配置完mysql之后,我们来紧接着安装redis,毕竟这些不用太多的思考,就是命令执行,配置文件,连接测试. 安装 首先,我们要看安装哪个版本,可以在Redis官网看看我们安装哪个版本. 在之前 ...
- 在Azure上部署IPv6的App通过IOS App Store审核
随着中国企业出海Go Global,越来越多的用户开始在Global Azure部署自己的应用.由于对Global Azure功能和文档的不熟悉,使用过程中或多或少遇到了一些坑.事实上呢,这些并不是坑 ...
- Redis学习笔记(2)——Redis的下载安装部署
一.下载Redis Redis的官网下载页上有各种各样的版本,如图 但是官网下载的Redis项目不正式支持Windows.如果需要再windows系统上部署,要去GitHub上下载.我下载的是Redi ...
- k8s 上部署 Redis 三主三从 集群
目录 介绍 为什么要使用Redis? 什么是Redis群集? 在Kubernetes中部署Redis集群 从 GitHub 上下载: 创建pv 创建statefulset 创建service 初始化 ...
- linux服务器上部署jdk+tomcat+rocketmq+redis-cluster
通常我们拿到一组干净的linux服务器,需要初始化安装一些基础软件,这里一站式介绍部署jdk+tomcat+rocketmq+redis-cluster 前言:如果要在多台服务器上安装,在一台服务器上 ...
- Redis在CentOS 7上的安装部署
简介: Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集( ...
- Redis安装配置及在Python上的应用
最近在使用Kazoo(开源电话系统) API时,一次请求的处理需要调用几次API,只为了得到一个name和id的对应关系,耗时非常大,开始想使用一种简单的实现,直接将对应关系保存到静态类的静态变量中, ...
随机推荐
- 强哥的分享--如何使用Spring Boot做一个邮件系统
http://springboot.fun/ actuator是单机.集群环境下要使用Spring Boot Admin将各个单机的actuator集成越来 mvn clean package -Dm ...
- svn自动更新网站代码
运行环境说明:svn的执行目录: /usr/bin/svnsvn版本库目录: /usr/local/nginx/html/svnrepos/coinhello (其中svnrepos是我各个项目版本库 ...
- H5新特性-----WebSocket
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在 W ...
- 最新机动车行驶证模板PSD可编辑分层文件下载
机动车行驶证PSD模板下载地址: http://www.qijieworld.com/thread-1834752-1-1.html 模板为psd格式,内容可编辑修改,需使用 Photoshop CS ...
- 【Android】6.0 添加Menu菜单组件、Intent启动活动、显式Intent、隐式Intent
1.0 在helloworld项目基础上创建活动SecondActivity: 2.0 其中main.xml: <?xml version="1.0" encoding=&q ...
- 我为什么不用Django而用Flask?
前言 对于初学者来说,找到一个好的框架来学习或者项目开发都是非常有必要的,而当你有一定开发经验后,你应该选择适合当前业务需要的框架.我这里并不想探讨哪个框架好哪个不好,这个永恒的话题就跟探讨“世界上哪 ...
- 04_Spring中使用Quartz
[Spring中使用SimplerTrigger] [QuartzTask.java] package com.higgin.task; import java.text.SimpleDateForm ...
- 转:ArcInfo数据格式介绍
ArcInfo常用以下格式的数据:shp.Coverage..Raster CAD和Geodatabase.各种数据的组织形式不一样,其中shp.Coverage.Raster.CAD为文件类型,Ge ...
- 64位系统中连接Access数据库文件的一个问题
近日在windows 7 64位系统中编译以前写的程序,发现在连接Access数据库时总是出现异常,提示“Microsoft.Jet.OLEDB.4.0”未在本机注册,同样的代码在32位的xp系统中却 ...
- Asterisk 对wav格式的支持
经过测试wav格式文件仅支持PCM 8000kHz 16bit 单声道,非常蛋疼的一个原因,排查了好久! 关于C#支持的一些格式(Mono 单声道 .Stereo 立体声道) // Standard ...