python使用redis_python redis模块用法详解

redis模块安装:pip install redis

连接redisimport redis

# 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库

conn = redis.Redis(host='localhost', port=6379, decode_responses=True)

# host是redis主机,需要redis服务端和客户端都启动 redis默认端口是6379

# ecode_responses=True,写入的键值对中的value为str类型,不加这个参数写入的则为字节类型

redis基本命令 String

set(name, value, ex=None, px=None, nx=False, xx=False)

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

参数:

ex,过期时间(秒)

px,过期时间(毫秒)

nx,如果设置为True,则只有name不存在时,当前set操作才执行

xx,如果设置为True,则只有name存在时,当前set操作才执行

1.ex,过期时间(秒) 这里过期时间是3秒,3秒后p,键food的值就变成Noneimport redis

pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)

conn = redis.Redis(connection_pool=pool)

conn.set('food', 'mutton', ex=3)

# key是"food" value是"mutton" 将键值对存入redis缓存

print(conn.get('food'))

# mutton 取出键food对应的值

2.px,过期时间(豪秒) 这里过期时间是3豪秒,3毫秒后,键foo的值就变成Noneimport redis

pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)

conn = redis.Redis(connection_pool=pool)

conn.set('food', 'beef', px=3)

print(conn.get('food'))

3.nx,如果设置为True,则只有name不存在时,当前set操作才执行 (新建)import redis

pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)

conn = redis.Redis(connection_pool=pool)

conn.set('food', 'beef', nx=True))    # True--不存在

print(conn.get('food'))

4.xx,如果设置为True,则只有name存在时,当前set操作才执行 (修改)import redis

pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)

conn = redis.Redis(connection_pool=pool)

conn.set('food', 'beef', xx=True)))   # True--已经存在

print(conn.get('food'))

5.setnx(name, value) 设置值,只有name不存在时,执行设置操作(添加)import redis

pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)

conn = redis.Redis(connection_pool=pool)

conn.set('food', 'beef', px=3)

print(r.setnx('food', 'banana'))  # food不存在,输出为True

6.setex(name, value, time)设置值

参数:

time,过期时间(数字秒 或 timedelta对象)conn.setex("fruit", "apple", 5)

time.sleep(5)

print(conn.get('fruit'))  # 5秒后,取值就从apple变成None

7.psetex(name, time_ms, value)  设置值

参数:

time_ms,过期时间(数字毫秒 或 timedelta对象)conn.psetex("fruit3", 5000, "apple")

time.sleep(5)

print(conn.get('fruit3'))  # 5000毫秒后,取值就从apple变成None

8.mset(*args, **kwargs)批量设置值conn.mget({'k1': 'v1', 'k2': 'v2'})

conn.mset(k1="v1", k2="v2") # 这里k1 和k2 不能带引号 一次设置对个键值对

print(conn.mget("k1", "k2"))   # 一次取出多个键对应的值

print(conn.mget("k1"))

9.mget(keys, *args)批量获取print(conn.mget('k1', 'k2'))

print(conn.mget(['k1', 'k2']))

# 将目前redis缓存中的键对应的值批量取出来

print(conn.mget("fruit", "fruit1", "fruit2", "k1", "k2"))

10.getset(name, value)设置新值并获取原来的值pri

10.getrange(key, start, end)获取子序列(根据字节获取,非字符)

参数:

name,Redis 的 name

start,起始位置(字节)

end,结束位置(字节)pri

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值