接口测试学习-python第六课(redis)

redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。但是redis不是常用的SqlServer、mysql类型的数据库。两者的区别为前者是菲关系型数据库,后者是关系型数据库。

关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。简单说,关系型数据库是由多张能互相联接的二维行列表格组成的数据库。

非关系型数据库又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL( Structured QueryLanguage,结构化查询语言),据维基百科介绍,NoSQL最早出现于1998 年,是由Carlo Storzzi最早开发的个轻量、开源、不兼容SQL 功能的关系型数据库。这次学习的redis是key-value形式的非关系型数据库。这样的数据库没有那么多的结构,但是处理速度很快。

1、链接数据库

如下图所示,点击connect按钮后,输入名称、IP地址、端口号和密码点击OK即可。链接完成后会在界面左方出现数据库,如118.24.3.40一样。

2、

2、在redis上操作数据库

如下图,右键数据库,选择console,再在右边界面下方输入命令即可。

 

 3、利用python操作redis数据库

一下是一些对rediis的基础操作

 

 1 import redis
 2 # 链接数据库
 3 r = redis.Redis(host='118.24.3.40', password='HK139bc&*', db=1, port=6379)
 4 # 针对string类型的数据的增删改查操作
 5 keyname = 'double'
 6 r.set('gyx_info:%s' % keyname, '20180505')  # 往数据库中新增一个值,修改也可以用set
 7 r.delete('gyx_info:double')  # 删除数据
 8 r.setex('date', '一一一', 3600)  # 设置key的失效时间,最后的参数是秒,int型
 9 gyx = r.get('双子座:1993:syz')
10 print(gyx.decode())  # 将二进制数据转为字符串
11 s = 'gyx111'
12 print(s.encode())  # 将字符串转为二进制
13 print(r.keys())  # 获取到所有的key,放在一个list中
14 print(r.keys('*y*'))  # 找到所有key中包含‘111’的数据,*是通配符
15 r.set('双子座:gyx', 'heheh')  # key中用英文冒号分割数据,冒号前面的就是文件夹名字,'双子座:gyx'是key
16 r.set('双子座:1993:syz', 'onetwo')  # 如果要多层文件夹那就多个冒号,冒号一定得是英文
17 for key in r.keys():  # 删除所有的key
18     r.delete(key)
19 
20 
21 #针对hash类型的增删改查操作
22 r.hset('stu_info', 'gyx', '中彩票')  # 第一个key是外部的大key,然后第二个数据是hash类型的key,最后是value值
23 print(r.hget('stu_info','gyx').decode())  # 先指定外部大key,然后根据小key获取对应数据
24 print(r.hgetall('stu_info'))  # 获取hash里面所有的key和value
25 dics = r.hgetall('stu_info')
26 new_dic = {}  # 将获取到的key和value转为字符串格式
27 for key, value in dics.items():
28     key = key.decode()
29     value = value.decode()
30     new_dic[key] = value
31 print(new_dic)
32 r.hdel('stu_info','gyx')  # 删除指定的key
33 r.delete('stu_info')  # 删除所有的key
34 print(r.ttl('aaa'))  # 获取这个key的失效时间
35 r.expire('aaa',100)  # 对一个key设置失效时间

 

posted on 2018-05-14 23:23  四方城郭  阅读(510)  评论(0编辑  收藏  举报