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,为了安全起见一定要设置好密码