redis之字符串
【1】set#
# 1 SET 命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。
res = conn.set(name='name', value='green')
print(res) # 插入成功后返回True
# 1.1 设置过期时间
conn.set(name='name', value='green', ex=5) # ex=5 在5秒后过期
conn.set(name='age', value='18', px=5000) # pzx=5 在5000毫秒后过期
# 1.2 参数nx=True 只有name不存在时,当前set操作才执行,反之则修改不了
res = conn.set(name='name', value='hahaha', nx=True)
print(res) # None
# 1.3 参数 xx=True 只有name存在时,当前set操作才执行,反之则修改不了
res = conn.set(name='name', value='hqq', xx=True) # name存在
print(res) # True
res = conn.set(name='high', value='180', xx=True) # high不存在
print(res) # None
【2】setnx#
# 2 setnx(name, value) 等同于 conn.set('name','666',nx=True)
# 设置值,只有name不存在时,执行设置操作(添加),如果存在,不会修改
【3】setex#
# name是键 time是几米后失效 value是值
conn.setex(name='name', time=5, value='五秒后删除')
【4】psetex#
# 4 psetex(name, time_ms, value) 过期时间毫秒
# conn.psetex('hobby',5000,'sss')
【5】mset#
# 批量设置
conn.mset({'color': 'black', 'hobby': '篮球'})
【6】get#
# get 命令用于获取指定 key 的值。如果 key 不存在,返回 None 。如果key 储存的值不是字符串类型,返回一个错误。
print(conn.get('name')) # green
print(conn.get('hobby')) # [篮球,洗脚]
print(conn.get('girl')) # None
【7】mget#
# 批量获取
res = conn.mget('color','hobby')
print(res) # ['black', '篮球']
# 也可以用列表传键值
res = conn.mget(['color','hobby'])
print(res) # ['black', '篮球']
【8】getset#
# 获取值 然后设置新值
res = conn.getset(name='color', value='pink')
print(res) # black 是原来的值
相比先get 后 set 的优势
使用GETSET命令可以提高操作的效率和可靠性,尤其是在需要保证操作原子性和减少通信开销的场景下。
【9】getrange#
# 截取字符串 (字节) 左右都是闭和的区间
res = conn.getrange(key='color', start=0, end=2) # pink
print(res) # pin
【10】setrange#
# 用于修改指定键的字符串值的一部分,
# 从指定偏移量开始,替换为给定值。
# 如果键不存在,将创建一个新的字符串,
# 并在必要时用空白填充以满足指定的偏移量。
res = conn.setrange(name='color', offset=3, value='yellow') # 从pink 变成 pinkyellow
【11】setbit#
【12】getbit#
【13】bitcount#
【14】bitop#
【15】strlen#
# 用于获取指定键的字符串值的长度。如果键不存在,返回0。
res = conn.strlen(name='color') # 存在
print(res) # 9
res = conn.strlen(name='no_exits') # 不存在
print(res) # 0
【16】incr#
# 用于将指定键的值增加1。
# 如果键不存在,会先将其设置为0然后再执行增加操作。
# 如果键的值不能被解释为整数,那么命令会返回一个错误。
res = conn.incr(name='count') # count的初始值是0
print(res) # 1
res = conn.incr(name='count', amount=2) # 设置每次增加的数字 初始值是 0
print(res) # 加2 得到 2
res = conn.incr(name='color') # color的值不是一个数字 所以会报错
【17】incrbyfloat#
# 命令用于将指定键的值增加指定的浮点数增量。
# 如果键不存在,会先将其设置为0然后再执行增加操作。
# 如果键的值不能被解释为浮点数,那么命令会返回一个错误。
key:要增加的键。
increment:要增加的浮点数增量。
res = conn.incrbyfloat(name='count', amount=6.6)
print(res)
【18】decr#
# 用于将指定键的值减少1。
# 如果键不存在,会先将其设置为0然后再执行减少操作。
# 如果键的值不能被解释为整数,那么命令会返回一个错误。
key:要减少的键。
res = conn.decr(name='count')
print(res)
【19】append#
# 用于在指定键的字符串值后追加指定的值。
# 如果键不存在,会先创建一个新的字符串,然后再执行追加操作。
# 如果键的值不是字符串类型,那么命令会返回一个错误。
key:要追加值的键。
value:要追加的字符串值。
res = conn.append(key='hobby',value='跳')
# res 返回的是追加过后的字节的长度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!