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的主要内容,如果未能解决你的问题,请参考以下文章