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:MyFolderRedis-x64-3.2.100 , 下面有redis-server.exe,redis.windows.conf,redis-cli.exe,redis.windows-service.conf等文件,马上就会用到它们。
然后顺手配一下环境变量,在path里添加Redis的安装路径: D:MyFolderRedis-x64-3.2.100
【2】打开一个cmd命令窗口,在里面输入 cd D:MyFolderRedis-x64-3.2.100,然后输入 redis-server.exe redis.windows.conf ,来启动redis服务端;可以看到以下的提示:
1 #进入到redis安装目录 2 D:Usersliusiyi>cd D:MyFolderRedis-x64-3.2.100 3 4 #输入redis-server.exe redis.windows.conf 来启动redis服务 5 D:MyFolderRedis-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:MyFolderRedis-x64-3.2.100,然后输入redis-cli,启动一个redis客户端。如果出现IP+端口号,则表示成功。
1 D:Usersliusiyi>cd D:MyFolderRedis-x64-3.2.100 2 D:MyFolderRedis-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。