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的对应关系,耗时非常大,开始想使用一种简单的实现,直接将对应关系保存到静态类的静态变量中, ...
随机推荐
- JS常用的设计模式(6)——桥接模式
桥接模式的作用在于将实现部分和抽象部分分离开来, 以便两者可以独立的变化.在实现api的时候, 桥接模式特别有用.比如最开始的singleton的例子. var singleton = functio ...
- PHP常用数组操作方法汇总
array_change_key_case -- 返回字符串键名全为小写或大写的数组array_chunk -- 将一个数组分割成多个array_combine -- 创建一个数组,用一个数组的值作为 ...
- asp.net MVC3之AJAX实现(json)
asp.net MVC3之AJAX实现(json) 分类: Asp.net MVC 2011-08-10 13:55 2272 ...
- geth
>geth --networkid 123 --dev --datadir "d:/blockchain/project/ethereum" --rpc --rpcaddr ...
- Juniper 防火墙端口映射设置
首先我们登陆到juniper防火墙控制界面 默认地址大家都知道(192.168.1.1) 默认用户和密码netsscreen 下面介绍登陆界面: 让我们开始配置吧 依次展开policy → Polic ...
- js之可迭代对象
遍历Array可以采用下标循环,遍历Map和Set就无法使用下标.为了统一集合类型,ES6标准引入了新的iterable类型,Array.Map和Set都属于iterable类型. 具有iterabl ...
- TensorFlow入门:安装常用的依赖模块
TensorFlow运行中常用到一些Python第三方模块: numpy 存储和处理大型矩阵的科学计算包 maplotlib 最著名的绘图库 jupyter scikit-image 图像预处理 li ...
- jQuery源码分析系列(版本1.9 - 1.10)
jQuery是我们常用的javascript库,我们应该不仅要会用它还要知道它的工作原理. 1.jQuery结构及$方法的工作原理 2.对回调函数操作的Callbacks对象 3.promise规范的 ...
- Qtl和JS、HTML通信/交互
http://www.cnblogs.com/sigma0/p/7346727.html Qt的QWebChannel和JS.HTML通信/交互驱动百度地图 0 前言 我一个研究嵌入式的,不知道怎么就 ...
- matlab练习程序(弧形、圆柱投影的复原)
前一段介绍了从矩形图像到圆柱的正向投影,看这里和这里.今天介绍如何从已经投影的图像反映射到原图像上. 本来此种变换一定是需要数学公式的,不过这里只是用了一个很简单的方式来完成反映射. 具体就把每一列有 ...