方法介绍
这里包含了所有的字符串操作方法,也给出了注释,可以进行训练。
set key value 设置值
get key 取值
getrange key 0 5 取0-5的字符值 字符串切片
getset key value 先取到值,完了重新设置,所以会打印以前的值
get key 得到重新设置的值
getbit key offset 对key所储存的字符串值,获取指定偏移量上的位(bit)。对value转为二进制 offset取出第几位的二进制
bitcount key start end 统计字符串开始,结束位置之间转二进制之后的1的个数
setbit key 7, 1 编号为7的二进制码设置为1
mget key1 key2 key3 批量抓取
setex key 1 value 将value关联到key,将key的过期时间设置为1秒
setnx key value 只有key不存在时设置key的值
setrange key offset value 用value参数覆写给定key所储存的字符串值,从偏移量offset开始。
strlen key 返回key所储存的字符串值的长度
mset key value 同时设置一个或多个 key-value 对
msetnx key value 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
psetex key milliseconds value 这个命令和setex命令相似,但它以毫秒为单位设置key 的生存时间,而不是像 setex命令那样,以秒为单位。
incr 增加 加1 value
incrby key 100 增加100 +100
incrbyfloat key increment 将 key 所储存的值加上给定的浮点增量值(increment)
decr 减少
decrby key value 减去给的值
del key 删除 key
append key value 如果key已经存在并且是一个字符串, APPEND命令将指定的 value 追加到该 key 原来值(value)的末尾
python操作
在python操作时,可能参数的位置进行变换,可以把鼠标放到方法括号里面,Ctrl + P进行查看参数,如果传入的值错误可以看一下源码,,按住Ctrl + 鼠标左键。下面介绍一些常用的方法:
import redis
myredis = redis.Redis(host="127.0.0.1",
port=6379,
password='******', db=1, decode_responses=True)
"""
def set(self, name, value, ex=None, px=None, nx=False, xx=False):
我们可以进入看看源码,看看参数,按住Ctrl + 鼠标左键,参数含义
nx= True 只有name不存在才能操作
xx = True 只有name存在才能操作
ex 过期时间 ,单位是s即秒
px 过期时间 ,单位是ms即毫秒
"""
# 设值 参数name 为key
myredis.set('name', 222)
# 获取值
res = myredis.get('name')
print(res)
# xx=True,只有key存在时才能成功,所以它修改了key为name的值
myredis.set('name', 9999, xx=True)
"""
下面的方法相当于set,里面的参数设置
myredis.setnx()
myredis.setex()
myredis.psetex()
"""
# 批量设置,需要以字典的方式传参
myredis.mset({
'xiaohuang': 1,
'xiao': 2,
'hong': 6
})
myredis.mset(name="5555", clor=99999)
# 批量抓取,需要以列表的形式包含键名
myredis.mget(['xiaohung', 'xiao'])
# 我们可以统计一个数据的次数即计次,使用nx参数,不存在才能成功,读取文件循环执行这个方法就会对文件里面的重复内容进行计次
if myredis.set('name', '1', nx=True): # 存在返回none,不在返回true
pass
else:
myredis.incr('name')
# 取值,相当于对字符串进行了切片操作
myredis.getrange('name', 0, 2)
# 指定的索引位置用传入的value覆盖原来后面的值
myredis.setrange('name', 2, 'value')
# 在字符串的末尾进行追加
myredis.append()
# 查看字符串的长度
myredis.strlen()