安装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。