Redis启动后默认16个数据库,相似数组下表从零开始,初始默认使用零号库redis
切换数据库命令 select 数据库下标
数据库
查看当前数据库的key的数量 Dbsize
数组
清空当前库 flushdb安全
清空全部库 flushallapp
查看全部的键 keys *
大数据
判断是否存在某个键 exists key
若是存在返回1,不然返回0
.net
从当前库移动某个键到目标库 move key db
3d
设置键的过时时间 expire key 秒钟
对象
查看还有多少秒过时 ttl key (-1表示永不过时,-2表示已过时)
排序
查看key的类型 type key
String(字符串)
String是redis最基本的类型,一个key对应一个value。它是二进制安全的,也就是说它能够包含任何数据,好比序列化的对象或图片等。一个字符串value最大能够是512m。
命令 | 说明 | 示例 |
---|---|---|
set key value | 设置指定key的值 | ![]() |
get key | 获取指定key的值 | ![]() |
del key | 删除一个key | ![]() |
append key value | 给一个key拼接一个字符串 | ![]() |
strlen key | 获取键的值得长度 | ![]() |
incr/decr/incrby/decrby/ | 对键的值进行加减操做,键值必须是数字 | ![]() |
getrange | 获取指定区间范围内的值,从0到-1表明获取所有 | ![]() |
setrange | 设置指定区间范围内的值 | ![]() |
setex key 秒 值 | 设置带过时时间的键 | ![]() |
setnx | 只有键不存在时才设置键的值 | ![]() |
mset | 同时设置一个或多个键值对 | ![]() |
mget | 同时获取多个键的值 | ![]() |
msetnx | 同时设置一个或多个键值对,仅当全部给定的键都不存在时才能生效 | ![]() |
getset | 将给定 key 的值设为 value ,并返回 key 的旧值 | ![]() |
List(列表)
列表是简单的字符串列表,按照插入顺序排序。能够添加一个元素到列表的头部或者尾部。其底层结构是一个链表。
命令 | 说明 | 示例 |
---|---|---|
lpush key value1 value2... | 将一个或多个值插入到列表头部 | ![]() |
rpush key value1 value2... | 将一个或多个值插入到列表尾部 | ![]() |
lrange start end | 获取指定范围内的元素,start为0,end为-1时表示获取所有 | ![]() |
lpop key | 从列表头部移除一个元素并返回 | ![]() |
rpop key | 从列表尾部移除一个元素并返回 | ![]() |
lindex key index | 经过索引获取列表中的元素 | ![]() |
llen key | 获取列表的长度 | ![]() |
lrem key count value | 从左到右删除count个值等于value的元素,返回的值为实际删除的数量,当count=0时,表示删除所有值 | ![]() |
ltrim key start end | 截取指定索引区间的元素 | ![]() |
rpoplpush key1 key2 | 从key1列表尾部移除一个元素插入key2列表的头部 | ![]() |
lset key index value | 修改某个下标对应的值 | ![]() |
linsert key before/after 值1 值2 | 在列表某个已有值的先后再添加具体值 | ![]() |
Hash(哈希)
哈希是一个键值对的集合,由一个string类型的key和value构成的映射表,它很适合用来存储对象。
命令 | 说明 | 示例 |
---|---|---|
hset key field value | 将哈希表key中的字段field的值设置为value | ![]() |
hget key field | 获取哈希表中指定字段的值 | ![]() |
hmset key field1 value1 field2 value2 ... | 同时将多个key-value设置到哈希表中 | ![]() |
hmget key field1 field2 | 获取全部给定字段的值 | ![]() |
hgetall key | 获取哈希表中的因此字段和值 | ![]() |
hdel key1 key2 | 删除一个或多个哈希表中的字段 | ![]() ![]() |
hlen key | 获取哈希表中字段的数量 | ![]() |
hexists key field | 查看哈希表中指定的字段是否存在 | ![]() |
hkeys key | 查看哈希表中全部的键 | ![]() |
hvals key | 查看哈希表中全部的值 | ![]() |
hincrby key field incrment | 为哈希表 key 中的域 field 的值加上增量 increment | ![]() |
hincrbyfloat | 为哈希表中的字段值加上指定浮点数增量值 | ![]() |
hsetnx key field value | 当哈希表中指定的键不存在时赋值 | ![]() |
Set(集合)
集合是string类型的无序集合,底层由hashtable实现。
命令 | 说明 | 示例 |
---|---|---|
sadd key value1 value2 ... | 添加一个或多个成员到集合中 | ![]() |
smembers key | 返回集合中的全部成员 | ![]() |
sismember key value | 判断元素是不是集合中的成员 | ![]() |
scard key | 获取集合中的成员数 | ![]() |
srem key value1 value2... | 从集合中移除一个或多个成员 | ![]() |
srandmember key n | 返回集合中一个或多个随机数 | ![]() |
spop key n | 移除并返回集合中的一个或多个元素 | ![]() |
smove source destination value | 从集合source将元素value移动到集合destination | ![]() |
sdiff key1 key2 | 求两个集合的差集 | ![]() |
sinter key1 key2 | 求两个集合的交集 | ![]() |
sunion key1 key2 | 求两个集合的并集 | ![]() |
Zset(有序集合)
zset和set同样也是集合,不一样的是zset的每一个元素都会关联一个double类型的分数。经过该分数,redis能够对zset中的元素进行排序。zset的成员惟一,可是分数score能够重复。
命令 | 说明 | 示例 |
---|---|---|
zadd key score1 value1 score2 value2 | 向有序集合添加一个或多个成员,或者更新已存在成员的分数 | ![]() |
zrange key start stop withscores(可选) | 经过索引区间返回指定区间内的成员 | ![]() |
zrangebysocre key score_start score_end withcores(可选) limit(可选) | 经过分数返回有序集合指定区间内的成员 | ![]() |
zrem key value1 value2 ... | 移除集合内一个或多个成员 | ![]() |
zcard key | 获取有序集合的成员数 | ![]() |
zcount key score_start score_end | 计算在有序集合指定分数区间的成员数 | ![]() |
zrank key value | 返回有序集合中指定成员的索引 | ![]() |
zrevrank key value | 返回有序集合中指定成员的排名,有序集合成员按分数值递减(从大到小)排序 | ![]() |
zrevrange key start stop withscores(可选) | 返回有序集合中指定区间内的成员,经过索引, 从高到低 | ![]() |
zrevrangebyscore key score_end score_start | 返回有序集合中指定分数区间内的成员,分数从高到低排序 | ![]() |