Redis字符串操作

1 set(name, value, ex=None, px=None, nx=False, xx=False) 设置值

conn.set('hobby','篮球')
# 带过期时间
conn.set('age','19',ex=3)  #
# conn.set('age','19',px=3000)  # 毫秒

# 如果key存在才设置或不存在才设置
# nx,如果设置为True,则只有name不存在时,当前set操作才执行,值存在,就修改不了,执行没效果
# xx,如果设置为True,则只有name存在时,当前set操作才执行,值存在才能修改,值不存在,不会设置新值
conn.set('age',19,nx=True)
conn.set('age',99,nx=True)
conn.set('age',99,xx=True)
conn.set('yy',99,xx=True)

 

 

2 setnx(name, value) 存在就不改,不存在才改

conn.setnx('age',999) # 等同于 conn.set('age',19,nx=True)

 

 

3 psetex(name, time_ms, value) 设置过期时间

conn.psetex('key',3000,'value')
conn.setex('key',3,'value')

 

 

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

conn.mset({'name':'yyy','age':888,'height':180})

 

 

5 get(name) 获取

res=conn.get('name')
print(res)

 

 

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

res=conn.mget('name','age','height')

#'name','age','height'----> name [age,height]--->[name,age,height]
# ['name','age','height']-->['name','age','height']--->[name,age,height]
res=conn.mget(['name','age','height'])
print(res)

 

 

7 getset(name, value) 先取再改

res=conn.getset('name','彭于晏')
print(res)

 

 

8 getrange(key, start, end) 数字指的是字节长度

# 字符: ab你中 
# 字节: 8个bit位一个字节,存 一个字母字符 用一个字节就够了 但存中文--》utf-8---》需要3个字节存一个字符
res=conn.getrange('name',0,2) # 前闭后闭区间
print(res)
print(str(res,encoding='utf-8'))

 

 

9 setrange(name, offset, value) 设置字节

conn.setrange('name',3,'eeee')

 



####比特位操作####

10 setbit(name, offset, value)

print(conn.getbit('name',3))

 

11 getbit(name, offset)


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


13 bitop(operation, dest, *keys)

####比特位操作####

 

 

14 strlen(name)

print(conn.strlen('name')) # 字节长度

 

 

15 incrby(self, name, amount=1)

#incrby
conn.incrby('age') # 文章阅读量 计数器 单线程 不会有并发安全问题

 


16 incrbyfloat(self, name, amount=1.0)

 

 

17 decrby(self, name, amount=1)

conn.decrby('age',2)

 

 

18 append(key, value)

conn.append('age',88)
conn.append('hobby','很好')
conn.close()

 

汇总:

'''
1 set(name, value, ex=None, px=None, nx=False, xx=False)
2 setnx(name, value)
3 psetex(name, time_ms, value)
4 mset(*args, **kwargs)
5 get(name)
6 mget(keys, *args)
7 getset(name, value)
8 getrange(key, start, end)
9 setrange(name, offset, value)
10 setbit(name, offset, value)
11 getbit(name, offset)
12 bitcount(key, start=None, end=None)
13 bitop(operation, dest, *keys)
14 strlen(name)
15 incr(self, name, amount=1)
#incrby
16 incrbyfloat(self, name, amount=1.0)
17 decr(self, name, amount=1)
18 append(key, value)
'''

 



posted @ 2024-01-28 20:40  wellplayed  阅读(18)  评论(0)    收藏  举报