redis基本命令string

1.set

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

设置name对应的值为value,类型为string。不存在创建,存在则修改

参数:

  • ex:过期时间(秒)
  • px:过期时间(毫秒)
  • nx:设置为TRUE时,只进行创建操作。
  • xx:设置为TRUE,只进行修改操作。

 

2.setnx

setnx(name,value)

设置name对应的值为value,如果name存在,返回0;不存在时执行设置操作。其中的nx是not exists的意思。

import redis,time
r = redis.Redis(host='localhost',port=6379,decode_responses=True)

r.set('name','test')
print(r.setnx('name1','gen')) # True
print(r.setnx('name','gen')) # False

 

3.setex

setex(name,value,time)

设置name对应的值value,并且指定有效期。

time:指代过期的秒数

import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.setex('name','test',5)
time.sleep(6)
print(r.get('name')) # None

 

4.psetex

psetex(name,time_ms,value)

设置值。

参数:

time_ms:过期时间(数字毫秒 或 timedelta对象)

import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.psetex('gender',5,'male')
time.sleep(5)
print(r.get('gender')) # none

 

5.mset

mset(*args,**kwargs)

批量设置,成功返回ok

import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.mset({'k1':'v1','k2':'v2'})
r.mset(k3='v3',k4='v4')

 

6.getset

getset(name,value)

设置新值,获取旧值

import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
print(r.getset('gender','male_new')) # male

 

7.getrange

getrange(name,start,end)

获取指定范围的字符串。

import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.set('gender','hello world')
print(r.getrange('gender',0,-1)) # hello world

 

8.setrange

setrange(name,offset,value)

修改字符串内容,从指定字符串索引开始向后替换(新值太长时,则向后添加)

import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)

r.set('gender','My name is chaoshen')
r.setrange('gender',4,'ws')
print(r.getrange('gender',0,-1)) # My nwse is chaoshen

r.setrange('gender',4,'wwwwwwwwwwwwwwwwwwwwwwwww') # My nwse is chaoshen

print(r.getrange('gender',0,-1)) # My nwwwwwwwwwwwwwwwwwwwwwwwww

 

9.setbit

setbit(name,offset,value)

对name对应的值value的二进制表示进行操作,参数中的value只能是0或者1.

 

10.getbit

getbit(name,offset)

获取name对应的值的二进制表示中的某位的值 (0或1)

 

11.strlen(name)

获取name对应的字节长度

 

12.incr

incr(self,name,amount=1)

incr(自增name对应的值,name不存在时,创建name=amount;否则自增。

amount代表每次的自增数。

ps:和incrby函数的功能一致。

import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.incr('na',amount=2)
print(r.get('na')) # 不存在时,创建name=amount  2
r.incr('na',amount=2)
print(r.get('na'))  # 4

r.incrby('nam',amount=2)
print(r.get('nam')) # 不存在时,创建name=amount  2
r.incrby('nam',amount=2)
print(r.get('nam'))  # 4

 

13.incrbyfloat

incrbyfloat(self,name,amount=1.0)

自增的是浮点数

import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.incrbyfloat('age',amount=2.0)
print(r.get('age')) # 不存在时,创建name=amount  2
r.incrbyfloat('age',amount=2.0)
print(type(r.get('age')))  # <class 'str'>

 

14.decr/decrby

decr(self,name,amount=1)

自减 name对应的值,当name不存在时,则创建name=amount,否则,则自减。

 

15.append(name,value)

在redis name对应的值后面追加内容

import redis,time

r = redis.Redis(host='localhost',port=6379,decode_responses=True)
r.set('name','hello')
r.append('name',' world')
print(r.get('name')) # hello world

 

posted @ 2019-01-12 15:48  炫风真是风  阅读(522)  评论(0编辑  收藏  举报