基本操作
命令 | 含义 |
select [number] | 切换库,默认16个库 |
flushdb | 清空库 |
dbsize | 查看数据库中数据个数 |
flushall | 清空所有库 |
key操作
命令 | 含义 |
keys xxx | 查找key,xxx为表达式,支持 * ? |
type key | 查看key对应值的类型 |
exists key | 指定的key是否存在,0代表不存在,dr |
del key | 删除指定key |
randomkey | 在现有的KEY中随机返回一个 |
expire key seconds | 为键值设置过期时间,单位是秒,过期后key会被redis移除 |
ttl key | 查看key还有多少秒过期,-1表示永不过期,-2表示已过期 |
rename key newkey | 重命名一个key,NEWKEY不管是否是已经存在的都会执行,如果NEWKEY已经存在则会被覆盖 |
renamenx key newkey | 只有在NEWKEY不存在时能够执行成功,否则失败 |
常用五大数据类型
数量类型 | 描述 |
string | 字符串 |
list | 可以重复的集合 |
set | 不可以重复的集合 |
hash | 类似于Map<String,String> |
zset(sorted set) | 带分数的set |
String类型操作
# string类型可以存二进制,jpg格式序列化的数据,一个string最大512M
命令 | 含义 |
set key value | 添加键值对 |
get key | 查询指定key的值 |
append key value | 将给定的value追加到原值的末尾 |
strlen key | 获取值的长度 |
setnx key value | 只有在 key 不存在时设置 key 的值 |
incr key | 指定key的值自增1,只对数字有效 |
decr key | 指定key的值自减1,只对数字有效 |
incrby key num | 自增num |
decrby key num | 自减num |
mset key1 value1 key2 value2… | 同时设置多个key-value对 |
mget key1 key2 | 同时获取一个或多个value |
msetnx key1 value1 key2 value2 | 当key不存在时,设置多个key-value对 |
getrange key起始索引 结束索引 | (查询的是值的索引)获取指定范围的值,都是闭区间 |
setrange key起始索引 value | 从起始位置开始覆写指定的值 |
getset key value | 以新换旧,同时获取旧值 |
setex key 过期时间 value | 设置键值的同时,设置过期时间,单位秒,过期后查询为nil |
List操作
list是双向链表
命令 | 含义 |
lpush/rpush key value1 value2… | 从左边/右边压入一个或多个值 头尾效率高,中间效率低 |
lpop/rpop key | 从左边/右边弹出一个值 值在键在,值光键亡 弹出=返回+删除 |
lrange key start stop | 查看指定区间的元素 正着数:0,1,2,3,… 倒着数:-1,-2,-3,… |
lindex key index | 按照索引下标获取元素(从左到右) |
llen key | 获取列表长度 |
linsert key before|after value newvalue | 在指定value的前后插入newvalue |
lrem key n value | 从左边删除n个value |
lset key index value | 把指定索引位置的元素替换为另一个值 |
ltrim key start stop | 仅保留指定区间的数据 |
rpoplpush list1 list2 | 从list1右边弹出一个值,左侧压入到list2 |
set操作
set无序,不可重复
命令 | 含义 |
sadd key member [member …] | 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。 |
smembers key | 取出该集合的所有值 |
sismember key value | 判断集合是否为含有该值,有返回1,没有返回0 |
scard key | 返回集合中元素的数量 |
srem key member [member …] | 从集合中删除元素 |
spop key [count] | 从集合中随机弹出count个数量的元素,count不指定就弹出1个 |
srandmember key [count] | 从集合中随机返回count个数量的元素,count不指定就返回1个 |
sinter key [key …] | 将指定的集合进行“交集”操作 |
sinterstore dest key [key …] | 取key的交集,另存为一个dest |
sunion key [key …] | 将指定的集合执行“并集”操作 |
sunionstore dest key [key …] | 取并集,另存为set |
sdiff key [key …] | 将指定的集合执行“差集”操作 |
sdiffstore dest key [key …] | 取差集,并将差集存为dest |
hash
Hash数据类型的键值对中的值是“单列”的,不支持进一步的层次结构
存储格式
命令 | 含义 |
hset key field value | 为key中的field赋值value |
hmset key field value [field value …] | 为指定key批量设置field-value |
hsetnx key field value | 当指定key的field不存在时,设置其value |
hgetall key | 获取指定key的所有信息(field和value) |
hkeys key | 获取指定key的所有field |
hvals key | 获取指定key的所有value |
hlen key | 指定key的field个数 |
hget key field | 从key中根据field取出value |
hmget key field [field …] | 为指定key获取多个filed的值 |
hexists key field | 指定key是否有field |
hincrby key field increment | 为指定key的field加上增量increment |
zset
zset是一种特殊的set(sorted set),在保存value的时候,为每个value多保存了一个score信息。根据score信息,可以进行排序
这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了
命令 | 含义 |
zadd key [score member …] | 添加 |
zscore key member | 返回指定值的分数 |
zrange key start stop [withscores] | 返回指定区间的值,可选择是否一起返回scores,start和stop是其实下标和 |
zrangebyscore key min max [withscores] [limit offset count] | 在分数的指定区间内返回数据,从小到大排列 -inf是负无穷,+inf是正无穷 |
zrevrangebyscore key max min [withscores] [limit offset count] | 在分数的指定区间内返回数据,从大到小排列 |
zcard key | 返回集合中所有的元素的数量 |
zcount key min max | 统计分数区间内的元素个数 |
zrem key member | 删除该集合下,指定值的元素 |
zrank key member | 返回该值在集合中的排名,从0开始 |
zincrby key increment member | 为元素的score加上增量 |