安装Redis数据库,并用python链接Redis
Redis是一个非关系型数据库,数据以key-value键值对的形式存储在数据库中。
Redis的安装,可以直接参考这个链接:https://www.runoob.com/redis/redis-install.html ,我下面说的,会比这个教程稍详细一点。
【1】我下载的是Redis-x64-3.2.100.zip,下载地址为 https://github.com/MSOpenTech/redis/releases ,然后选择一个你喜欢的本地目录,直接解压,就代表安装完成。
我的安装目录是:D:\MyFolder\Redis-x64-3.2.100 , 下面有redis-server.exe,redis.windows.conf,redis-cli.exe,redis.windows-service.conf等文件,马上就会用到它们。
然后顺手配一下环境变量,在path里添加Redis的安装路径: D:\MyFolder\Redis-x64-3.2.100
【2】打开一个cmd命令窗口,在里面输入 cd D:\MyFolder\Redis-x64-3.2.100,然后输入 redis-server.exe redis.windows.conf
1 #进入到redis安装目录
2 D:\Users\liusiyi>cd D:\MyFolder\Redis-x64-3.2.100
3
4 #输入redis-server.exe redis.windows.conf 来启动redis服务
5 D:\MyFolder\Redis-x64-3.2.100>redis-server.exe redis.windows.conf
6 _._
7 _.-``__ ''-._
8 _.-`` `. `_. ''-._ Redis 3.2.100 (00000000/0) 64 bit
9 .-`` .-```. ```\/ _.,_ ''-._
10 ( ' , .-` | `, ) Running in standalone mode
11 |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
12 | `-._ `._ / _.-' | PID: 78988
13 `-._ `-._ `-./ _.-' _.-'
14 |`-._`-._ `-.__.-' _.-'_.-'|
15 | `-._`-._ _.-'_.-' | http://redis.io
16 `-._ `-._`-.__.-'_.-' _.-'
17 |`-._`-._ `-.__.-' _.-'_.-'|
18 | `-._`-._ _.-'_.-' |
19 `-._ `-._`-.__.-'_.-' _.-'
20 `-._ `-.__.-' _.-'
21 `-._ _.-'
22 `-.__.-'
23
24 [78988] 08 Aug 11:34:59.546 # Server started, Redis version 3.2.100
25 [78988] 08 Aug 11:34:59.548 * The server is now ready to accept connections on port 6379
可以看到,redis显示port 6379,这是redis的默认配置,可以在安装目录下的redis.windows-service.conf中查看或修改默认配置。我的默认配置如下:
更多配置说明,可以直接看配置文件的注释说明,或参考这个 https://cloud.tencent.com/developer/article/1384072
bind 127.0.0.1 #绑定ip
protected-mode yes #yes是指redis只允许本地访问,拒绝外部访问。要是开启了bind和密码,则外部可以访问
port 6379 #监听端口
tcp-backlog 511 #TCP listen() backlog
timeout 0 #Close the connection after a client is idle for N seconds (0 to disable)
tcp-keepalive 0 #A reasonable value for this option is 60 seconds.
loglevel notice #loglevel有几个选项,notice属于moderately verbose
logfile "server_log.txt"
syslog-enabled yes
syslog-ident redis
databases 16 #dbid is a number between 0 and 'databases'-1
#持久化策略之RDB快照
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes #yes表示RDB快照生成错误时,停止客户端写入
slave-serve-stale-data yes
slave-read-only yes
……
有一些可选项,是被#注释掉的, 需要的时候可以修改配置文件,或用命令修改:
# requirepass foobared
# unixsocket /tmp/redis.sock
# unixsocketperm 700
# slaveof <masterip> <masterport>
# masterauth <master-password>
……
这个cmd窗口,请一直开着;如果关闭了,就代表redis服务停止了,后面用客户端连接redis数据库的操作,就无法完成。
【3】新开一个cmd窗口,输入cd D:\MyFolder\Redis-x64-3.2.100,然后输入redis-cli,启动一个redis客户端。如果出现IP+端口号,则表示成功。
1 D:\Users\liusiyi>cd D:\MyFolder\Redis-x64-3.2.100
2 D:\MyFolder\Redis-x64-3.2.100>redis-cli
3 127.0.0.1:6379>
【4】在客户端窗口可以随意尝试redis数据库操作语句了。
#Redis的数据库名是从0开始的,默认是在数据库0下;当选数据库1的时候,左边会提示为[1]
127.0.0.1:6379> select 0
OK
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379>
#用set命令可以为某个键赋值,get可以获得某个键的值
127.0.0.1:6379> set fruit "apple"
OK
127.0.0.1:6379> set studentNum 32
OK
127.0.0.1:6379> get fruit
"apple"
127.0.0.1:6379> get studentNum
"32"
#del是删除键,exists查看某个键是否存在
127.0.0.1:6379> del fruit
(integer) 1
127.0.0.1:6379> exists fruit
(integer) 0
#在客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG
#通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值
127.0.0.1:6379> ping
PONG
1 #为当前数据库设置密码(redis默认是不需要密码的)
2 127.0.0.1:6379> config set requirepass 123321
3 OK
4 #这时候输入数据库set命令就需要密码了
5 127.0.0.1:6379> set key 123
6 (error) NOAUTH Authentication required.
7 #输入密码
8 127.0.0.1:6379> auth 123321
9 OK
10 #可以继续使用了
11 127.0.0.1:6379> set key 123
12 OK
【5】用python连接本地redis数据库
1 import redis
2 try:
3 pool1 = redis.ConnectionPool(host='127.0.0.1',db=0, port=6379,password=123321)
4 rds=redis.StrictRedis(connection_pool=pool1)
5 #上面两句也可以简写成rds=redis.StrictRedis(host='127.0.0.1',db=0,port=6379,password=123321)
6 except Exception as e:
7 print(e)
8 rds.set('name','Emily')
9 print(rds.get('name'))
结果显示为:b'Emily'
【6】在控制面板下打开本地服务,检查一下,此时是找不到名为Redis的服务的。这是因为Redis还没有被设置成为一个windows服务。
安装redis为windows服务的命令:redis-server.exe --service-install redis.windows.conf
成功后,再去刷新windows本地服务列表,就会发现Redis!第一次开启的cmd窗口,也不必再留着了。
常用的redis服务命令。
卸载服务:redis-server --service-uninstall
开启服务:redis-server --service-start
停止服务:redis-server --service-stop
重命名服务:redis-server --service-name name
【7】Redis也有桌面管理工具,Redis Desktop Manager。