一、Redis介绍

非关系型数据库:mongodb、redis

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

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

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

二、Redis用法

String类型的用法:

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

hash类型的用法:

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

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

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

Python学习笔记_Redis的更多相关文章

  1. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  2. VS2013中Python学习笔记[Django Web的第一个网页]

    前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...

  3. python学习笔记之module && package

    个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...

  4. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

  5. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  6. python学习笔记--Django入门0 安装dangjo

    经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...

  7. python学习笔记(一)元组,序列,字典

    python学习笔记(一)元组,序列,字典

  8. Pythoner | 你像从前一样的Python学习笔记

    Pythoner | 你像从前一样的Python学习笔记 Pythoner

  9. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

随机推荐

  1. linux的cpu性能评估

    linux的cpu性能评估 参考自:自学it网,http://www.zixue.it/. (1)利用vmstat命令监控系统CPU[test@localhost ~]$ vmstat 2 3 #每2 ...

  2. 7.Java web—tomcat9部署

    1)安装 在此之前要安装 好jdk和jre 下载绿色版 http://tomcat.apache.org/ 解压至:D:\Program Files (x86)\tomcat9 环境变更path添加两 ...

  3. 【c专家编程】分析c语言的声明

    联合: 在结构中,每个成员依次存储,而在联合中,所有成员都从偏移地址零开始存储,联合一般被用来节省空间,用法和struct相同. union bits32_tag { int whole; // 一个 ...

  4. 转:NetBeans的远程Linux C开发实践

    转: http://blog.csdn.net/jacktan/article/details/9268535 一直以来总觉得NetBeans生活在Eclipse的阴影下,同样做为一款不错的基于Jav ...

  5. 关于Memcached的CAS和Set方法造成Socket泄漏的问题

    为了解决多并发下写Memcached的冲突方案,我们项目组引入了CAS机制.类同于Java并发包中的CAS(Compareand set)原子操作,用来处理同一个Item被多个线程更改的并发问题.Me ...

  6. U盘容纳不了大于4G的文件比如ISO文件咋办?

    格式化U盘成NTFS格式就行了,不这么做8,16,32G Upan都容纳不下来.

  7. poj 3169 Layout(差分约束)

    Layout Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6549   Accepted: 3168 Descriptio ...

  8. 优化你的服务器Apache、MySQL、PHP

    硬件上的考虑其实起50%的作用,当然是越快越好.如果不知道哪个快,就换成越贵越好.可实际上不可能做到这些,因为银子有限,所以按照这个顺序考虑:内存越大越好->硬盘SCSI好于SATA->C ...

  9. JMeter 系列之—-02 创建数据库测试计划

    Jmeter创建数据库测试计划,包括如下步骤: 1. 添加数据库jar包 使用不同的数据库,要引入不同的jar包.主要有两种方式: 方式1:直接将jar包复制到jmeter的lib目录 方式2:通过测 ...

  10. Android的Message Pool是个什么鬼,Message Pool会否引起OOM——源代码角度分析

    引言 Android中,我们在线程之间通信传递通常採用Android的消息机制,而这机制传递的正是Message. 通常.我们使用Message.obtain()和Handler.obtainMess ...