pythonredis使用教程_Python redis模块操作字符串方法汇总

本文详细介绍了Python的redis模块中关于字符串数据的操作,包括set()、mset()、get()、mget()、getset()、setrange()、setbit()、getbit()、bitop()、strlen()、incr()、decr()、incrbyfloat()和append()等方法,以及它们的使用示例和注意事项。
摘要由CSDN通过智能技术生成

本节主要介绍字符串数据的操作。

1) set():该函数用于给单个键赋值。

>>> r.set('key10', 100)

True

>>> r.get('key10') # 得到键key10对应的值

b'100' # 返回值是字符串

该函数还有几个参数,其中包括有效时间,即如果过了指定时间,该键自动被删除。

可以用 ex 参数来指定该键存在的秒数。下面的代码设定一个键,其有效时间是 10 秒,可以发现在 10 秒后该键就不存在了。

import time, redis

r = redis.Redis(host='127.0.0.1',port=6379)

r.set("str_set_expire_demo", "val1", ex=10)

print("Key Exist? %s" % bool(r.exists("str_set_expire_demo")))

time.sleep(12)

print("12 Seconds Passed, Key Exist? %s" % bool(r.exists("str_set_expire_demo")))

运行后的结果如下:

$ python setEx1.py

Key Exist? True

12 Seconds Passed, Key Exist? False

如果希望存在的时间比较短,可以使用参数 px,其表示存在的毫秒数。下面的例子设置在 800 毫秒后就自动删除:

import time, redis

r = redis.Redis(host='127.0.0.1',port=6379)

r.set("str_set_expire_demo", "val1", px=800)

print("Key Exist? %s" % bool(r.exists("str_set_expire_demo")))

time.sleep(1)

print("1 Seconds Passed, Key Exist? %s" % bool(r.exists("str_set_

expire_demo")))

运行后的结果如下:

$ python setEx2.py

Key Exist? True

1 Seconds Passed, Key Exist? False

如果希望 1.2 秒后就自动删除,可以设置为:

r.set("str_set_expire_demo", "val1", ex=1, px=1200)

如果希望仅在该键不存在时才进行赋值,则可以使用参数 nx=True:

>>> r.set("str_set_nx_demo", "val1") # 设定了该值

True # 设定成功

>>> r.exists('str_set_nx_demo') # 键是否存在

1 # 存在

# 仅不存在时才赋值,没有赋值

>>> r.set("str_set_nx_demo", "val1", nx=True)

>>> r.set("str_set_nx_demo", "val1") # 直接赋值,返回True表示赋值成功

True

如果希望仅在该键已经存在时才进行赋值,则可以使用参数 xx=True:

>>> r.exists('str_set_xx_demo') # 键是否存在

0 # 不存在

>>> r.set("str_set_xx_demo", "val1", xx=True) # 赋值,失败

>>> r.set("str_set_xx_demo", "val1") # 直接赋值

True #

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值