Redis配置文件所在位置
远程需要关闭防火墙
Windows系统
Redis 配置文件位于 Redis 安装目录下文件名为 redis.conf 注意:Windows系统下名为 redis.windows.conf
修改文件配置
windows是redis.windows.conf
查看本地ip
win+r输入cmd
ipconfig查看IP
redis.windows.conf
#允许任何主机连接,访问(这个好像不行) bind 127.0.0.1 改为bind 0.0.0.0 #改为指定IP为自己的 bind 192.168.1.8 #关闭保护模式 protected-mode yes 改为 protected-mode no # 允许启动后在后台运行,即关闭命令行窗口后仍能运行[可以不用] daemonize no 改为 daemonize yes
import redis res = redis.Redis( host="192.168.1.8", port=6379, db=7, password=None, encoding="utf-8" ) print('连接成功') res.lpush('dy:url', 'this is a test') print('推送完毕')
重启redis.conf
在redis安装的目录下打开cmd窗口,否则会报错
redis-server.exe redis.windows.conf
重启步骤
-
再打开一个新窗口,输入以下命令
redis-cli.exe -h 192.168.1.8 -p 6379 #上面的命令结果提示NOAUTH Authentication required.说明需要输入密码,继续输入指令: redis-cli.exe #然后输入密码,没有设置密码直接跳过这一步 auth "root" #再关闭redis,服务端会断开 shutdown
#最后重启redis redis-server.exe redis.windows.conf
注意在redis安装目录启动时ip是修改后的,如果不是在安装目录启动ip默认是127.0.0.1,而且在安装目录启动命令必须是redis-server.exe redis.windows.conf
,否则ip也是127.0.0.1
检查ip是否生效
用redis客户端测试或者用可视化工具
客户端
redis-cli.exe -h 192.168.1.8 -p 6379
可视化工具
检查是否可远程
两边关闭防火墙,先ping一下IP能通后,再用可视化工具连接对方redis
Linux系统
/etc/redis/redis.conf
Redis配置文件及命令
配置文件
安装完成后,安装目录下大概会有以下几个文件:
redis-server.exe:服务端程序,提供redis服务
redis-cli.exe: 客户端程序,通过它连接redis服务并进行操作
redis-check-dump.exe:本地数据库检查
redis-check-aof.exe:更新日志检查
redis-benchmark.exe:性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询 (类似于 Apache 的ab 工具).
redis.windows.conf: 配置文件,将redis作为普通软件使用的配置,命令行关闭则redis关闭
redis.windows-service.conf:配置文件,将redis作为系统服务
redis配置文件含义
#是否作为守护进程运行 daemonize no #Redis 默认监听端口 port 6379 #客户端闲置多少秒后,断开连接 timeout 300 #日志显示级别 loglevel verbose #指定日志输出的文件名,也可指定到标准输出端口 logfile redis.log #设置数据库的数量,默认最大是16,默认连接的数据库是0,可以通过select N 来连接不同的数据库 databases 32 #Dump持久化策略 #当有一条Keys 数据被改变是,900 秒刷新到disk 一次 #save 900 1 #当有10 条Keys 数据被改变时,300 秒刷新到disk 一次 save 300 100 #当有1w 条keys 数据被改变时,60 秒刷新到disk 一次 save 6000 10000 #当dump .rdb 数据库的时候是否压缩数据对象 rdbcompression yes #dump 持久化数据保存的文件名 dbfilename dump.rdb ########### Replication ##################### #Redis的主从配置,配置slaveof则实例作为从服务器 #slaveof 192.168.0.105 6379 #主服务器连接密码 # masterauth <master-password> ############## 安全性 ########### #设置连接密码 #requirepass <password> ############### LIMITS ############## #最大客户端连接数 # maxclients 128 #最大内存使用率 # maxmemory <bytes> ########## APPEND ONLY MODE ######### #是否开启日志功能 appendonly no # AOF持久化策略 #appendfsync always #appendfsync everysec #appendfsync no ################ VIRTUAL MEMORY ########### #是否开启VM 功能 #vm-enabled no # vm-enabled yes #vm-swap-file logs/redis.swap #vm-max-memory 0 #vm-page-size 32 #vm-pages 134217728 #vm-max-threads 4 使用默认配置文件启动redis会报错的,需要修改maxmemory这一项,注意单位时字节(209715200是200MB) maxmemory 209715200 如果需要设置连接密码,就修改requirepass,设为自己的密码。 requirepass mypassword
使用命令
redis安装完后是没有启动的,要启动的话,需要在修改完上面的配置文件后,在命令行调用启动命令,如下:
#没有配置环境变量必须在redis的安装目录下打开cmd redis-server.exe redis.windows.conf
但是这种方式一旦关闭命令行,redis服务就关闭了,所以需要将redis安装成windows服务的,开机自启动。
安装服务
redis-server --service-install redis.windows.conf
启动服务
安装服务之后,redis并没有启动)
redis-server --service-start
停止服务
redis-server --service-stop
安装命名指定端口
redis-server --service-install –service-name redisService1 –port 10001 redis-server --service-start –service-name redisService1 redis-server --service-install –service-name redisService2 –port 10002 redis-server --service-start –service-name redisService2 redis-server --service-install –service-name redisService3 –port 10003 redis-server --service-start –service-name redisService3
卸载服务命令
redis-server --service-uninstall
Redis设置用户密码
首先Redis中没用用户名的说法,自己或者他人登录访问都是通过IP+端口号,端口号一般都是6379.
设置密码
1、通过命令行
先启动redis服务,再启动redis客户端
#必须在redis安装目录执行 redis-server.exe redis.windows.conf #配置好环境变量,直接打开cmd执行 redis-server.exe #启动客户端 redis-cli.exe
设置密码config set requirepass 123456
输入刚设置的密码auth 123456
,才能进行增删改查,访问redis
查看自己所设置的密码config get requirepass
2、直接修改redis.config文件中修改
#requirepass foobared requirepass 123456
找到这一行,去掉前面的注释符号#,然后将foobared改成你想设置的密码就ok啦。如果忘记了自己设置的密码,同样在这个位置可以看到,或者修改。
然后一定要重启redisredis-server.exe redis.windows.conf
一定要在redis安装目录打开cmd
然后启动客户端需要带上hostredis-cli.exe -h 192.168.1.8 -p 6379
权限错误
Redis (error) NOAUTH Authentication required.解决方法auth 密码