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操作的主要内容,如果未能解决你的问题,请参考以下文章

python操作redis之String操作

python操作redis之hash操作

python之redis操作

django redis

Python 之redis操作

Python操作redis系列之 列表(list)