Redis字符串操作

redis字符串操作

import redis
coon = redis.Redis(host='127.0.0.1',port=6379)
'''
	连接本地redis
'''

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

name:类似于key
value:需要存入的值
ex:过期时间(秒)
px,过期时间(毫秒)
nx:如果设置为True,当数据库中key不存在时,可以将key-value添加数据库,其他不执行
xx:如果设置为True,当数据库中key存在时,可以将key-value添加数据库,与NX参数互斥,其他不执行

setnx(name, value)

只有在 key 不存在时 设置 key 的值

与set(name,value,nx=True)一样

psetex(name, time_ms, value) 以毫秒计时

conn.psetex('age',3000,'19')

'''
	这条数据在3秒后自动删除
'''

mset(*args, **kwargs) 批量设置

coon.mset({'name':'春游去动物园','hobby':'唱,跳,Rap'})

'''
	插入2条记录
'''

get(name) 获取值

res = coon.get('name')
print(res.decode(utf8))
print(str(res,encoding='utf-8'))
'''
	中文都需要解码
'''

mget(keys, *args) 批量获取值

res = coon.mget('name','age')
res = coon.mget(['name','age'])
'''
	中文都需要解码
'''

getset(name, value) 获取并设置值

res = coon.getset('name' ,'111')
print(res.decode(utf8)) # 春游去动物园
'''
	返回原来的值,再将新的值替换掉原来的值
	变成了:
		{'name' : '111'}
'''

getrange(key, start, end)

res=conn.getrange('name',0,2)
print(str(res,encoding='utf-8'))
'''
	根据起始位置,获取字符串,以字节为单位(字母,数字占一个字节,汉字占三个字节)
	如果对一个汉字截取了一个字节或两个字节,会导致乱码
'''

setrange(name, offset, value) 指定位置设置值

conn.setrange('name',3,'bbb')
{’name' : '111'} -----> {'name' : '111bbb'}
'''
	offset 以字节为单位(字母,数字占一个字节,汉字占三个字节)
'''

setbit(name, offset, value) 指定比特位修改成

conn.setbit('name',7,1)
'''
	值用二进制表示为 00000000 00000000 00000000
	执行后会把第7个0变成1
		--->	00000010 00000000 00000000
'''

getbit(name, offset)

res = conn.getbit('name',7)
'''
	返回二进制对应位置上的值
	如值的二进制为 00000000
	则返回0
'''

bitcount(key, start=None, end=None)

print(conn.bitcount('name',0,4))
'''
	统计指定位区间上值为1的个数
	如值二进制表示为 1101000
	 则返回结果为3
'''

strlen(name) 返回name对应值的字节长度

print(conn.strlen('name'))
'''
	字母,数字占一个字节,汉字占三个字节
'''

incrby(self, name, amount=1) 计数器

conn.incrby('age')
'''
	每执行一次,value加一,也可以指定amount,必须为整数,不能带小数点
'''

incrbyfloat(self, name, amount=1.0) 计数器

conn.incrbyfloat('age')
'''
	每执行一次,value加1.0,也可以指定amount,必须为小数,必须带小数点
'''

decrby(self, name, amount=1) 自动减一

conn.decrby('age')
'''
	每执行一次,减一,也可以指定amount
'''

append(key, value) value尾部追加

conn.append('name','sb')
'''
	{'name' : '111'}  ----> {'name' : '111sb'}
'''
posted @ 2022-07-13 21:36  春游去动物园  阅读(200)  评论(0编辑  收藏  举报