Python学习笔记_Redis

一、Redis介绍

非关系型数据库:mongodb、redis

redis数据全部是存在内存里面的。

redis本身每秒支持30w次的读写,本身性能非常好,

redis重启后,数据会消失,持久性不好,但是可以设置重启前将redis里面的数据存到磁盘,重启后再取过来。

二、Redis用法

String类型的用法:

 

 1 import redis
 2 r = redis.Redis(host='xxx.xxx.xx.xxx',password='123456',db=0)  #端口号默认6379, redis默认有16个库,为1-15
 3 #增,key有唯一性
 4 r.set('6j','帅!')   #数据库里新增一个值
 5 r.set('nhy','帅!')   #数据库里新增一个值
 6 #修改也是set
 7 r.set('nhy','牛!')   #数据库里新增一个值
 8 #删:
 9 r.delete('nhy')  #删除
10 
11 r.setex('6j','哈哈哈',20)  #定时,设置key的失效时间20s,单位是秒
12  
13 print(r.get('6j'))  #运行结果是byte格式,二进制格式,变回字符串用decode
14 print(r.get('6j'))  #获取不存在的key,返回None
15 lj= r.get('6j')  #打印出来的结果格式不正确,是byte格式,需要decode一下
16 print(lj.decode())
17 print(r.get('6j').decode())
18 s = '呵呵'
19 s.encode()  #把字符串转成二进制
20 nhy = b'sdfserewf'
21 nhy.decode()  #把bytes类型转成字符串
22 
23 
24 print(r.keys())  #获取所有的key
25 print(r.keys('n*')) #获取所有n开头的key
26 
27 设置文件夹:
28 r.set('天蝎座:lj','hehehe')  #生成天蝎座文件夹,key为lj,value为hehehe
29 r.set('session:6j','1毛钱')    #生成session文件夹,key为6j,value为1毛钱
30 
31 #删除所有key
32 for k in r.keys():
33     r.delete(k)

 

hash类型的用法:

除了string类型,还有哈希类型 hash,就和嵌套字典是一样的

# # {{zhangsan:xxx},{lisi:yyy}}

 1 r.hset('stu_info',6j,'1m6 100w存款')  #
 2 r.hset('stu_info','zhangsan','lang for homework') #
 3 r.hset('stu_info','lisi','find a dog to kit zhangsan') #
 4 
 5 print(r.hget('stu_info','zhangsan').decode())#指定大key和小key获取对应的数据
 6 print(r.hgetall('stu_info'))  #获取里面所有的k和v,不能用decode,因为字典没有decode方法
 7 #要获取正常的字典,可以如下所示:
 8 stu_info = r.hgetall('stu_info')
 9 new_stu_info = {}
10 # print(stu_info.items())
11 for k,v in stu_info.items():
12     new_stu_info[k.decode()] = v.decode()
13     # print(k.decode)
14     # print(v.decode)
15 print(new_stu_info)
16 
17 r.hdel('stu_info','zhangsan')  #删除指定key
18 r.delete('stu_info')   #删除整个key
19 
20 #查看key的类型:
21 print(r.type('stu_info'))
22 print(r.type('6j'))
23 
24 print(r.ttl('stu_info'))  #获取失效时间,None为永久,在redis可视化界面工具中展示为-1
25 # r.expire('aaa',100) #第一个key设置失效时间,对string、hash均生效
View Code

 

posted @ 2018-05-08 11:23  LazyRobbit  阅读(184)  评论(0编辑  收藏  举报