字符串String的操作

redis中的String在内存中按照一个name对应一个value来存储。如图:

#1 set(name, value, ex=None, px=None, nx=False, xx=False)
在Redis中设置值,默认,不存在则创建,存在则修改
参数:
     ex,过期时间(单位,秒)
     px,过期时间(单位,毫秒)
     nx,如果设置为True,则只有name不存在时,当前set操作才执行,即添加
     xx,如果设置为True,则只有name存在时,岗前set操作才执行,即修改

        
#2 setnx(name, value)
设置值,只有name不存在时,执行设置操作(添加),效果同 set(name, value, nx=True)


#3 setex(name, value, time)
设置值,直接设置过期时间,效果同 set(name, value, ex=time)
参数:
    time,过期时间(数字秒 或 timedelta对象)
    
 
#4 psetex(name, time_ms, value)
设置值,效果同setex
参数:
   	time_ms,过期时间(数字毫秒 或 timedelta对象)
    
      
#5 mset(*args, **kwargs)
批量设置值
如:
    mset(k1='v1', k2='v2')
    或
    mset({'k1': 'v1', 'k2': 'v2'})
    
  
#6 get(name)
取值


#7 mget(keys, *args)
批量获取值
如:
    r.mget('ylr', 'wupeiqi')
    或
    r.mget(['ylr', 'wupeiqi'])
    
 
#8 getset(name, value)
设置新值并返回原来的值
如 
	r.set('name', 'the3times')
	old_name = r.getset('name', 'xliu')  # old_name = b'the3times'


#9 getrange(key, start, end)
获取字符串值的一部分(根据字节获取),索引从0开始
参数:
    name,Redis 的 name
    start,起始位置(字节
    end,结束位置(字节)
如:
	r.set('name', 'the3times')
	r.getrange('name', 1, 3)	# b'he3'
 

#10 setrange(name, offset, value)
修改字符串内容,从指定字符串索引开始向后替换(新值太长时,则向后添加)
参数:
    offset,字符串的索引偏移量,字节(一个汉字三个字节)
    value,要设置的值
如:
    r.set('name', 'the3times')
    r.setrange('name', 0, '---') 从索引为0的位置开始后的位置被'---'覆盖
    print(r.get('name'))  	# b'---3times'
    
    
    
#11 strlen(name)
返回name对应值的字节长度(一个汉字3个字节)


#12 incr(self, name, amount=1)
# 注:同incrby
适用于是数字的字符串的加法,否则报错
自增 name对应的值,当name不存在时,则创建name=amount,否则,则自增。
参数:
    name, Redis的name
    amount,自增数(必须是整数)

    
    
#13 incrbyfloat(self, name, amount=1.0)
自增 name对应的值,当name不存在时,则创建name=amount,否则,则自增。
参数:
    name,Redis的name
    amount,自增数(浮点型)
如:
	r.set('height', 1.75)
	r.incrbyfloat('height', 0.1)	# 1.85
    
 
#14 decr(self, name, amount=1)
自减 name对应的值,当name不存在时,则创建name=amount,否则,则自减。
参数:
    name,Redis的name
    amount,自减数(整数)
    

#15 append(key, value)
在redis name对应的值后拼接新的字符串
参数:
    key, redis的name
    value, 要追加的字符串
如:
	r.set('name', 'the3times')
	r.append('name', 'hello world')
	print(r.get('name'))	# b'the3timeshello world'
posted @ 2020-05-04 21:28  the3times  阅读(138)  评论(0)    收藏  举报