- redis有16个数据库
- flush:清空所有数据库
- flushdb:清空当前数据库
- 1.redis键---key
keys *
exists key:判断某个key是否存在
expire key 秒:给指定的key设置过期时间
ttl key:查看还有多少秒过期,-1表示永不过期,-2表示已过期
type key:查看key的类型
move key db:当前库就没有了,被移除了:db指第几个数据库。
del key:删除
dump key:序列化制定key,并返回序列化的值。
- 2.redis字符串---string
append:追加
strlen:长度
incr:
incrby:
decr:
decrby:
getrange k1 0 -1
setrange k1 0 xxx
setex(set with expirt):键秒值:setex k4 10 v4
setnx(set if not exist): setnx k1 v1
mset(moreset)
mget(moreget)
msetnx:要不就都成功,要不就都失败
- 3.redis列表---list
lpush(leftpush):lpush list01 1 2 3:result = 3,2,1
rpush(rightpush):rpush list02 1 2 3:result = 1,2,3
lrange: lrange list01 0 -1
lpop(leftpop):从上边出
rpop(rightpop):从下面出
lindex:按照索引小标获得元素(从上到下)
llen:列表的长度
lrem key:删除N个value:
lrem list03 2 3:删除list03中的两个3
ltrim key 开始index 结束index:截取指定范围的值后再赋值给key
例如:ltrim list01 3 5
: lrange list01 0 -1 :查看当前list01:结果已修改
rpoplpush 源列表 目的列表
lset key index value
linsert key before/after 值1 值2
例如:linsert list01 before x java
x为库中已经存在的value
java为新增插入的value
- 4.redis集合---set
sadd set01 1 2 3
smembers set01
sismember set01 1:判断集合中是否1
scard set01:获取集合里面的元素个数
srem key value:删除集合中元素
srandmember key 某个整数:随机出几个数
spop key:随机出栈
smove key1 key2 在key1里某个值:作用是将key1里的某个值赋值给key2
数学集合类:
差集:sdiff
交集:sinter
并集:sunion
- 5.redis哈希---hash
kv模式不变,但v师一个键值对
hset
hget
hmset
hmget
hgetall
hdel
hlen
hexists key:在key里面的某个值得key
hkeys/hvals
hincrby/hincrbyfloat
hsetnx
- 6.redis有序集合Zset(sorted set)
在set基础上,加一个score值,之前set是k1 v1 v2 v3,
现在zset是k1 score1 v1 score v2
zadd/zrange(withscores)
zrangebyscore key 开始score 结束score:还有一个不包含符号 (,还有一个limit开始下标,走多少步
zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
zrange zset01 0 -1
zrange zset01 0 -1 withscores
zrem key 某score下对应的value值,作用是删除元素
zrem zset01 v5
zcard/zcount key score区间/zrank key values值,作用是获得下标值
zscore key 对应值,获得分数
zrevrank key value值,作用是逆序获得下标值
zrevrange
zrevrangebyscore key 结束score 开始score