redis数据类型
1 字符串 ===》做缓存,做计数器
'''
set key value
get key
mset k1 v1 k2 v2 ...
mget k1 k2 ...
setex key exp value
incrby key increment
'''
2 列表===》消息队列
'''
rpush key value1 value2 ...
lpush key value1 value2 ...
lrange key bindex eindex
lindex key index
lpop key | rpop key
linsert key before|after old_value new_value
'''
3 哈希===》缓存
'''
hset key field value
hget key field
hmset key field1 value1 field2 value2 ...
hmget key field1 field2
hkeys key
hvals key
hdel key field
'''
4 无序集合===》去重
'''
sadd key member1 member2 ...
sdiff key1 key2 ...
sdiffstore newkey key1 key2 ...
sinter key1 key2 ...
sunion key1 key2 ...
smembers key
spop key
'''
5 有序集合===》排行榜
'''
zadd key grade1 member1 grade2 member2 ...
zincrby key grade member
zrange key start end
zrevrange key start end
'''
redis之字符串类型
reedis是key-value形式存储
redis 数据存在内存中,如果断电,数据丢失--》需要有持久化
1 set(name,value,ex=none,px=none,nx=FAlse,xx=False)
#ex 过期时间==》秒
#px 过期时间==》毫秒
# nx,如果设置为True,则只有name不存在时,当前set操作才执行, 值存在,就修改不了,执行没效果
# xx,如果设置为True,则只有name存在时,当前set操作才执行,值存在才能修改,值不存在,不会设置新值
2 get(name)
3 setnx(name,value) 等于 set(name,value,nx=True)
4 setex(name,value,time) 等于 set(name,value,ex=3)
5 psetex(name,time,value) 等于 set(name,px=3,value)
6 mset(*args, **kwargs)
7 mget(keys, *args)
8 getset(name, value)
9 getrange(key, start, end)
10 setrange(name, offset, value)
11 setbit(name, offset, value)
12 getbit(name, offset)
13 bitcount(key, start=None, end=None)
14 bitop(operation, dest, *keys)
15 strlen(name)
16 incr(self, name, amount=1)#自增,不会出并发安全问题,单线程架构,并发量高
17 incrbyfloat(self, name, amount=1.0)
18 decr(self, name, amount=1)
19 append(key, value)
'''
set
get
strlen 字节长度
incr
decr
'''