redis数据库及与python交互用法简单示例


Posted in Python onNovember 01, 2019

本文实例讲述了redis数据库及与python交互用法。分享给大家供大家参考,具体如下:

redis数据操作

1.string类型:主要存储字符串

操作 命令
设置键值 set key value
设置键值与过期时间 setex key seconds(单位为秒) value
设置多个键 met key1 value1 key2 value2 …
追加值 append key value
获取值 get key
获取多个 键的值 mget key1 key2 …

2.hash类型:主要用于存储对象,对象的结构为属性和值

操作 命令
设置单个属性 hset key field value (例:hset user name xiaoming)
设置多个属性 hmset key fiel1 value1 field2 value2…
获取指定键所有属性 hkeys key
获取一个属性的值 hget key field
获取多个属性的值 hmget key field1 field2…
获取所有属性的值 hvals key
删除属性 hdel key field1 field2…

3.list类型:存储列表

操作 命令
在左侧插入数据 lpush key value1 value2…
在右侧插入数据 rpush key value1 value2…
在指定元素前插入 linsert key before 元素 插入元素
在指定元素后插入 linsert key after 元素 插入元素
获取指定范围值 lrange key start stop(支持负索引)
设置指定索引位置的值(修改) lset key index value
删除指定元素 lrem key count value (count>0表示从头到尾删除的次数,count=0删除所有,count

4.set类型:存储无序集合

操作 命令
添加元素 sadd key member1 member2…
获取所有元素 smembers key
删除指定元素 srem key

5.zset类型:有序集合,每个元素关联一个double类型的score,表示权重,按权重排序

操作 命令
添加元素 zadd key score1 member1 score2 memeber2…
返回指定范围元素 zrange key start stop
返回指定范围权重的元素 zrangebyscore key min max
返回指定成员的权重 zscore key member
删除指定元素 zrem key member1 member2…
删除指定权重范围元素 zrembyscore key min max

6.键命令:

操作 命令
查找键(参数支持正则) keys pattern(keys *查看所有键,keys a*查找a开头的键)
判断键是否存在 exists key(存在返回1,不存在返回0)
查看键的类型 type key
删除键及对应的值 del key1 key2…
设置键的过期时间 expire key seconds
查看键的有效时间 ttl key

与python交互使用

1.StricRedis类:

通过init创建对象,指定参数host、port与指定的服务器和端⼝连接,host默认为localhost,port默认为6379,db默认为0

例:

sr = StrictRedis(host='localhost', port=6379, db=0)

简写

sr=StrictRedis()

2.对象操作:

例:

增加(修改):

#创建StrictRedis对象,与redis服务器建立连接
sr=StrictRedis()
#添加键name,值为itheima
result=sr.set('name','itheima')

获取:

result = sr.get('name')

删除:

result = sr.delete('name')

操作方法基本与redis数据库操作一样

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python学习笔记(一)(基础入门之环境搭建)
Jun 05 Python
浅谈使用Python变量时要避免的3个错误
Oct 30 Python
python3.4.3下逐行读入txt文本并去重的方法
Apr 29 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
Oct 30 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
Apr 18 Python
Python面向对象程序设计类的封装与继承用法示例
Apr 12 Python
pycharm运行scrapy过程图解
Nov 22 Python
django 中使用DateTime常用的时间查询方式
Dec 03 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
基于Numba提高python运行效率过程解析
Mar 02 Python
使用keras2.0 将Merge层改为函数式
May 23 Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 Python
python验证码图片处理(二值化)
Nov 01 #Python
使用matlab或python将txt文件转为excel表格
Nov 01 #Python
python 图片二值化处理(处理后为纯黑白的图片)
Nov 01 #Python
Python网络编程之使用TCP方式传输文件操作示例
Nov 01 #Python
wxpython布局的实现方法
Nov 01 #Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
Nov 01 #Python
python基于socket实现的UDP及TCP通讯功能示例
Nov 01 #Python
You might like
PHP中单引号与双引号的区别分析
2014/08/19 PHP
ThinkPHP中RBAC类的四种用法分析
2014/11/24 PHP
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
js中函数声明与函数表达式
2015/06/03 Javascript
js实现Select头像选择实时预览代码
2015/08/17 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
jQuery CSS3自定义美化Checkbox实现代码
2016/05/12 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
解决vue bus.$emit触发第一次$on监听不到问题
2020/07/28 Javascript
Python中用max()方法求最大值的介绍
2015/05/15 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
numpy.linspace 生成等差数组的方法
2018/07/02 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
如何利用Python 进行边缘检测
2020/10/14 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
客服实习的个人自我鉴定
2013/10/20 职场文书
学生学习总结的自我评价
2013/10/22 职场文书
计算机求职信
2013/12/01 职场文书
《狮子和兔子》教学反思
2014/03/02 职场文书
开工典礼策划方案
2014/05/23 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
物业管理委托协议(2篇)
2014/09/23 职场文书
升职自荐信怎么写
2015/03/05 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书
理解深度学习之深度学习简介
2021/04/14 Python
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang