redis数据类型
1:键(key)
key == 键 db == 库id s == 秒 ms == 毫秒
命令 | 解释 |
---|
keys * | 获取所有的key |
select db | 切换redis库(默认16个,0是第一个) |
exists key | 判断某个key是否存在 (统一 1:在 0:不在) |
move key db | 当前库就没有了,被移出了;目标库有,则不能移动 |
expire key s | 多少秒过期 |
pexpire key ms | 多少毫秒过期 |
persist key | 删除过期时间 |
ttl key | 查看还有多少秒过期,-1表示永不过期,-2表示已过期 |
del key | 删除key |
flushall | 清除所有(所有库) |
flush db | 清除指定库 |
type key | 查看你的key是什么类型 |
2:string:单值单value
index == 索引
命令 | 解释 |
---|
set key value | 添加 |
get key | 查询 |
append key value | 追加(key必须存在,没有是时新建key) |
strlen key | 长度 |
incr key | 递增(必须是数字) |
decr key | 递减(必须是数字) |
incrby key 10 | 递增(必须是数字,数字是几相加) |
decrby key 10 | 递减(必须是数字,数字是几相减) |
getrange key 0 -1 | 获取指定区间范围内的值,类似between....and的关系。从0到-1表示全部 |
setrange key index value | 设置指定索引的值 ;value更换后的值 |
setex key time value | time过期时间;value:修改value值 |
mset key1 key2 | 批量设置 |
mget key1 key2 | 批量获取 |
msetnx | 批量添加;键存在时 操作失败返回 0 |
getset key value | 先get,再set;;返回旧值,设置新值 |
3:list:单值多value
命令 | 解释 |
---|
lpush key value1 value2 value3 | 左插入(可重复) |
rpush key value1 value2 value3 | 右插入(可重复) |
lrange key 0 -1 | 数据集合 |
lpop key | 弹出元素(左弹出) |
rpop key | 弹出元素(右弹出) |
llen key | 长度 |
lrem key count value | count :删除条数;value:删除那个值 |
lindex key index | 获取指定索引的值 |
lren key | 删N个value |
ltrim key startindex stopindex | 开始index 结束index,截取指定范围的值后再赋值给key |
rpoplpush key1 key2 | 转移列表的数据key1-->key2 |
lset key index value | 设置指定索引的值 |
linsert key before value1 value2 | 在key中value1的前面添加value2 |
linsert key after value1 value2 | 在key中value1的后面添加value2 |
4:set:单值多value(有序无重复)
命令 | 解释 |
---|
sadd key value1 value2 value3 | 添加(不能重复) |
smembers key | 查询 |
sismember key value | 查询key中的value是否存在 |
scard key | 获取集合里面的元素个数 |
srem key value | 删除集合中元素 |
srandmember key count(整数) | 随机出 count 个数 |
spop key count | 随机出栈 |
smove key1 key2 value | 把key1中的value移动到key2 |
sdiff sk1 sk2 | 差集(sk1和sk2中没有的) |
sinter sk1 sk2 | 交集 |
sunion sk1 sk2 | 并集 |
5:hash:KV模式不变,但V是一个键值对(无重复)
命令 | 解释 |
---|
hset key k v | 添加 |
hget key k | 查询 |
hmset key k1 v1 k2 v2 | 在key下多个键值添加 |
hgetall key | 查询key下的所有键值,(注意:一个键一个值) |
hdel key k1 k2 | 删除键下的k值 |
hlen key | key下k的条数 |
hexists key k | 在key中k值是否存在 |
hkeys key | 查询key下的所有k |
hvals key | 查询key下的所有v |
hincrby key k count | key的k 没有时添加;k是数字时 做数字计算; |
hincrbyfloat key k count | 小数(key、key的k 没有时添加;k是数字时 做数字计算) |
hsetnx | 添加(存在时不覆盖) |
6:zset(sorted set)有序集合
和set的区别:在set基础上加上一个score值,之前set是k1 v1 v2 v3,现在zset是k1 score v1 score v2
命令 | 解释 |
---|
zadd key score value | 添加 |
zrange key 0 -1 WITHSCORES | 查询(score正序排序) |
zrangebyscore key -inf +inf | 显示整个有序集 |
zrangebyscore key -inf +inf WITHSCORES | 显示整个有序集及成员的 score 值 |
zrangebyscore key -inf 5000 | 显示 <=5000 的所有key |
zrangebyscore key (5000 400000 | 显示大于 5000 小于等于 400000 的key |
zrem key value1 value2 | 移除元素 |
zcard key | 当 key 存在且是有序集类型时,返回有序集的基数。 |
zcount key 2000 5000 | 计算在 2000-5000 之间的key的数量 |
zrank key values | 作用是获得value的下标值 |
zscore key value | 通过value获取score ;返回string类型 |
zrevrank key value | 逆序获得下标值(获得相反的下标值) |
zrevrange key 0 -1 WITHSCORES | 查询(score倒序排序) |
zrevrangebyscore key +inf -inf | 逆序排列value |
zrevrangebyscore key 10000 2000 | 逆序排列介于 10000 和 2000 之间的value |