Python 之redis操作
Posted 唯安格
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 之redis操作相关的知识,希望对你有一定的参考价值。
Redis
是一个高性能的key-value数据库,是一种非关系型的数据库。有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
1、redis安装。
在cmd命令窗口输入:pip install redis
2、连接redis。
r = redis.Redis(host=\'127.0.0.1\',password=\'HK139bc&*\',db=1,port=6379)
说明:host是IP地址,password是redis的密码,db连接上之后使用的数据库,redis默认有15个数据库,port是端口号,默认是6379
3、redis增删改查,针对string类型的操作。
1)、数据库里面新增一个值:
r.set(\'qianqian\',\'帅!\') #数据库里面新增一个值.k是qianqian,value是帅,redis里面有这个k 的话就修改value,没有的话就增加k,和value
r.set(\'xiehong:qianqian\',\'帅!\') #数据库里面新增一个值,如果k里面有冒号,那么插入成功之后会在redis里面生成一个以冒号前面内容命名的文件夹
2)、获取k的value
print(r.get(\'xiehong:qianqian\'))#获取k是xiehong:qianqian的value,默认返回结果是二进制 print(r.get(\'xiehong:qianqian\').decode())#将二进制结果转为中文 #以上结果是: b\'\\xe5\\xb8\\x85\\xef\\xbc\\x81\' 帅!
3)、删除k 和value
r.delete(\'xiehong:qianqian\')#删除之后,对应的k和value都删除
4)、设置key的失效时间
r.setex(\'python_123\',\'哈哈哈\',20) #设置key的失效时间,最后这个参数是秒
5)、获取所有的key
r.keys(\'*xxx*\'))#获取到所有的key
4、哈希类型(hash)的操作。
哈希类型的value就是嵌套字典。
1)、增加k和value
r.hset(\'xinxin\',\'新新\',\'1m8 100w存款\') r.hset(\'xinxin\',\'红红\',\'难道岁月 多少课 也可白上\') r.hset(\'xinxin\',\'谦谦\',\'但愿步过瞻仰 你亦明白 看穿真相\')
以上key是xinxin,value是以下截图的数据,登录上redis上查看以上代码的操作结果:
2)、获取value,需要制定大key和小key进行获取相应的value,例如:
print(r.hget(\'xinxin\',\'新新\').decode()) #指定大key和小key获取对应的数据 #获取结果是: 1m8 100w存款
3)、获取所有的key和value
print(r.hgetall(\'xinxin\')) #获取里面所有的k和-v
4)、删除key
r.hdel(\'stu_info\',\'gyx\') #删除指定key r.delete(\'stu_info\') #删除整个key
5)、设置第一个key的失效时间
r.expire(\'xinxin\',100) #第一个key设置失效时间
5、补充字符串转换
s=\'呵呵\' s.encode() #把字符串转成二进制 hwt = b\'sdfsdfsdf\' hwt.decode() #把bytes类型转成字符串
以上是关于Python 之redis操作的主要内容,如果未能解决你的问题,请参考以下文章