本文实例讲述了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<0表示从尾到头删除的次数) |
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)
简写
2.对象操作:
例:
增加(修改):
- #创建StrictRedis对象,与redis服务器建立连接
- sr=StrictRedis()
- #添加键name,值为itheima
- result=sr.set('name','itheima')
-
获取:
删除:
- result = sr.delete('name')
-
操作方法基本与redis数据库操作一样
更多关于Python相关内容感兴趣的读者可查看jb51专题:《Python常见数据库操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。