一.redis的安装

redis是一个基于内存的key-value数据库,支持的数据类型有string、hash、list和set以及zset。这些数据类型都支持push/pop、add/remove等操作,这些操作都是原子性的。因此可以实现高并发的数据访问。

1.将下载的zip文件放在某个文件夹中,如D:\redis中然后解压,打开cmd,进入redis所在的文件夹中,输入redis-server redis.windows.conf,出现如下图所示的结果说明redis启动成功。

 

redis6 对应的windows redis支持windows吗_数据

 

2.虽然步骤1启动了redis,但是cmd一关,redis就会消失。所以最好的办法就是把redis设置成windows服务。具体步骤如下:

  • 关闭刚才代开的cmd窗口,重新打开一个,进入redis目录。
  • 输入redis-server --service-install redis.windows-service.conf --loglevel verbose。

成功后结果如下图所示。

 

redis6 对应的windows redis支持windows吗_操作系统_02

 

3.Windows-redis服务的启动、停止、卸载

  • 启动:redis-server --service-start
  • 停止:redis-server --service-stop
  • 卸载:redis-server --service-uninstall

 

二.修改redis的配置

1.修改redis密码

在默认的情况下,访问redis数据库一般是不需要密码的。但是为了增强安全性,我们可以设置redis的密码,设置为123456.

打开redis文件夹中的redis.windows-service.conf,在其中取消requirepass的注释,将他的变量设置为123456,如下图所示。

 

redis6 对应的windows redis支持windows吗_数据库_03

 

2.设置远程访问

打开redis文件夹中的redis.windows-service.conf,将其中的bind变量注释掉。如下图。

 

redis6 对应的windows redis支持windows吗_redis6 对应的windows_04

 

修改完成后使用如下命令登录redis数据库

redis-cli –a redisredis –h ip –p 密码。

 

三.redis常用命令

1.删除delete(*name)

删除redis中的一个键值对,可以是任意的数据类型(string、hash、set、zset、list)



import redis
r = redis.Redis(host='localhost',port=6379,decode_responses=True)

r.set('name','male')  # 设置string类型的数据
print(r.get('name')) #读取结果为male
r.delete('name')  # 删除设定的string数据
print(r.get('name')) # None

r.hset('hash1','name','male')  # 设置hash类型的数据
print(r.hget('hash1','name'))  #读取结果为male
r.delete('hash1','name')  # 删除设定的hash数据
print(r.hget('hash1','name')) # None

r.lpush('list1','name','male','www')  # 设置list类型的数据
print(r.lrange('list1',0,-1))  #读取结果为['www', 'male', 'name']
r.delete('list1','name')  # 删除设定的hash数据
print(r.lrange('list',0,-1)) # []



2.确认exists(name)

检测name是否存在,存在为TRUE,不存咋为false.



import redis

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.set('name','male')  # 设置string类型的数据
print(r.exists('name')) #读取结果为True
r.delete('name')  # 删除设定的string数据
print(r.exists('name')) # false



3.模糊匹配keys(patter=’’)

根据模型patter返回结果,是正则表达式匹配。



import redis

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.set('name','male')  # 设置string类型的数据
print(r.keys(pattern='n?me')) #读取结果为['name']



4.设置超时时间expire(name,time)

为name设置超时时间,单位是秒。



import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.set('name','male')
r.expire('name',3)
print(r.get('name')) # male
time.sleep(3)  # 等待3秒
print(r.get('name'))  # None



5. 移除设置的超时时间persist(name,time)



import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.lpush('list1',11,12,13)
r.expire('list1',3) # 设置过期时间
r.persist('list1') # 取消过期时间
print(r.lrange('list1',0,-1))  # ['13', '12', '11']



6.重命名rename(src,dst)

src:旧名称   dst:新名称



import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.lpush('list1',11,12,13)
r.rename('list1','list1_new')
print(r.lrange('list1',0,-1))  # []
print(r.lrange('list1_new',0,-1))  # ['13', '12', '11']



7.随机获取数据randomkey()



import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.lpush('list1',11,12,13)
r.lpush('list2',11,12,13)
print(r.randomkey())  # list1
print(r.randomkey())  # testname



8. 获取数据类型type()



print(type('list1'))