redis基本命令string

Posted python学习过程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于redis基本命令string的主要内容,如果未能解决你的问题,请参考以下文章

Redis --- 八种数据类型(基本命令)

redis数据类型及常用命令

大数据之Redis:Redis数据类型String及相关的命令行操作

Redis基本操作1.1string

Redis系列-存储篇string主要操作命令

redis常用基本命令