Python redis操作

安装

ubuntu下安装

sudo apt-get install redis

基本操作

连接方式:

  • 严格连接模式:r=redis.StrictRedis(host=”“,port=)
  • 更Python化的连接模式:r=redis.Redis(host=”“,port=)
  • StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令
  • Redis与StrictRedis的区别是:Redis是StrictRedis的子类,用于向前兼容旧版本的redis-py,并且这个连接方式是更加”python化”的
  • 连接池
    为了节省资源,减少多次连接损耗,连接池的作用相当于总揽多个客户端与服务端的连接,当新客户端需要连接时,只需要到连接池获取一个连接即可,实际上只是一个连接共享给多个客户端。

如下我们使用连接池方式连接redis:

import redis
pool = redis.ConnectionPool(host='localhost', port=6379, db=0, decode_responses=True)
r = redis.Redis(connection_pool=pool)
r.set('a','3')
print(r.get('a'))
3

默认情况下,设置的值或取得的值都为bytes类型,如果想改为str类型,需要在连接时添加上decode_responses=True

增加

在Redis中设置值,默认不存在则创建,存在则修改

r.set(‘name’, ‘zhangsan’)

参数:
     set(name, value, ex=None, px=None, nx=False, xx=False)  
     ex,过期时间(秒)  
     px,过期时间(毫秒)  
     nx,如果设置为True,则只有name不存在时,当前set操作才执行,同setnx(name, value)  
     xx,如果设置为True,则只有name存在时,当前set操作才执行 
# 批量设置
r.mset(a1='1',a2='2')
#r.mset({'a1':'1','a2':'2'})

# 批量获取  r.mget()
print(r.mget('a1','a2'))
['1', '2']

查找获取

r.get('key_name')

#根据字节获取子序列
r.set("name","zhangsan")
print(r.getrange("name",0,3))
zhan

修改

#修改字符串内容,从指定字符串索引开始向后替换,如果新值太长时,则向后添加
r.set("name","zhangsan")
r.setrange("name",1,"z")
print(r.get("name")) 
r.setrange("name",6,"zzzzzzz")
print(r.get("name"))
zzangsan
zzangszzzzzzz

删除

delete(*names)
根据删除redis中的任意数据类型(string、hash、listset、有序set
r.delete("gender")  # 删除key为gender的键值对
1

获取长度

#返回name对应值的字节长度(一个汉字3个字节)
r.set("name","zhangsan")
print(r.strlen("name"))
8

检查名字是否存在

exists(name)
检测redis的name是否存在,存在就是TrueFalse 不存在

hash操作

redis中的Hash 在内存中类似于一个name对应一个dic来存储

新增/修改

hset(‘dic_name’,’key’,’value’)

如果存在该dic,则增加(key,value), 不存在则创建,如果key在dic里面是存在的,就修改该key的值

#name对应的hash中设置
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值