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的值不是一个数字 所以会报错

image-20240515163557566

【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 返回的是追加过后的字节的长度

作者:Esofar

出处:https://www.cnblogs.com/Hqqqq/p/18194646

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   HuangQiaoqi  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示