码迷,mamicode.com
首页 > 其他好文 > 详细

redis基本命令string

时间:2019-01-12 16:38:05      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:time   2.0   set   str   incr   pre   not   字符   过期   

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

标签:time   2.0   set   str   incr   pre   not   字符   过期   

原文地址:https://www.cnblogs.com/wl443587/p/10260015.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!