目录
String的基本命令
1. SET
2. GET
3. GETSET
4. STRLEN
5. APPEND
6. SETRANGE
7. GETRANGE
8. SETEX
9. SETNX
10. MSET
11. MGET
12. INCR
13. DECR
14. INCRBY
15. DECRBY
16. INCRBYFLOAT
Map的基本命令
1. HSET
2. HGET
3. HMSET
4. HMGET
5. HGETALL
6. HDEL
7. HEXISTS
8. HKEYS
9. HVALS
10. HINCRBY
11. HINCRBYFLOAT
12. HLEN
13. HSCAN
List的基本命令
1. LPUSH
2. RPUSH
3. LLEN
4. LRANGE
5. LINDEX
6. LSET
7. LPOP
8. RPOP
9. BLPOP
10. BRPOP
11. LREM
12. LTRIM
13. RPOPLPUSH
Set的基本命令
1. SADD
2. SCARD
3. SISMEMBER
4. SMEMBERS
5. SREM
6. SPOP
7. SRANDMEMBER
8. SDIFF
9. SDIFFSTORE
10. SINTER
11. SINTERSTORE
12. SUNION
13. SUNIONSTORE
14. SMOVE
有序集合(ZSet)的基本命令
1. 添加元素
2. 获取元素分数
3. 删除元素
4. 计数
5. 范围查询
6. 分数范围查询
7. 计算分数范围成员数
8. 移除分数范围内的成员
9. 增加成员分数
10. 排名查询
11. 逆序排名查询
12. 逆序范围查询
String的基本命令
Redis的String类型是最基本的数据类型,它可以包含任何形式的字符串或二进制数据。以下是一些基本的String操作命令:
1. SET
- 功能: 设置指定 key 的值。
- 例子:
SET mykey "Hello"
将字符串 "Hello" 存储在键mykey
中。
2. GET
- 功能: 获取指定 key 的值。
- 例子:
GET mykey
获取键mykey
的值。
3. GETSET
- 功能: 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
- 例子:
GETSET mykey "World"
将mykey
的值设置为 "World" 并返回之前的值。
4. STRLEN
- 功能: 获取指定 key 的值的长度。
- 例子:
STRLEN mykey
获取键mykey
的值的长度。
5. APPEND
- 功能: 给指定 key 的字符串值追加 value。
- 例子:
APPEND mykey " World"
在键mykey
的值后面追加字符串 " World"。
6. SETRANGE
- 功能: 从指定 key 的值的offset开始,用给定 value 覆盖。
- 例子:
SETRANGE mykey 6 "Redis"
从偏移量6开始,将键mykey
的值更改为 "Redis"。
7. GETRANGE
- 功能: 获取指定 key 的值的子字符串。
- 例子:
GETRANGE mykey 0 4
获取键mykey
的值的子字符串,从索引0到4。
8. SETEX
- 功能: 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。
- 例子:
SETEX mykey 60 "Hello World"
设置键mykey
的值为 "Hello World" 并且该键会在60秒后过期。
9. SETNX
- 功能: 只有在 key 不存在时设置 key 的值。
- 例子:
SETNX mykey "Hello"
如果mykey
不存在,则设置其值为 "Hello"。
10. MSET
- 功能: 同时设置一个或多个 key-value 对。
- 例子:
MSET key1 "Hello" key2 "World"
同时设置key1
的值为 "Hello" 和key2
的值为 "World"。
11. MGET
- 功能: 获取所有(一个或多个)给定 key 的值。
- 例子:
MGET key1 key2
获取key1
和key2
的值。
12. INCR
- 功能: 将 key 中储存的数字值增一。
- 例子:
INCR mykey
将存储在mykey
中的数值增加1。
13. DECR
- 功能: 将 key 中储存的数字值减一。
- 例子:
DECR mykey
将存储在mykey
中的数值减少1。
14. INCRBY
- 功能: 将 key 所储存的值加上给定的增量值(increment)。
- 例子:
INCRBY mykey 10
将存储在mykey
中的数值增加10。
15. DECRBY
- 功能: 将 key 所储存的值减去给定的减量值(decrement)。
- 例子:
DECRBY mykey 10
将存储在mykey
中的数值减少10。
16. INCRBYFLOAT
- 功能: 将 key 所储存的值加上给定的浮点增量值(increment)。
- 例子:
INCRBYFLOAT mykey 0.5
将存储在mykey
中的数值增加0.5。
Map的基本命令
Redis的Map类型在Redis中称为哈希(Hash),它是一个键值对集合。以下是一些基本的Hash操作命令:
1. HSET
- 功能: 向哈希表中添加一个字段及其值。
- 例子:
HSET myhash field1 "Hello"
将字段field1
的值设置为 "Hello" 在哈希表myhash
中。
2. HGET
- 功能: 获取哈希表中指定字段的值。
- 例子:
HGET myhash field1
获取哈希表myhash
中字段field1
的值。
3. HMSET
- 功能: 同时将多个字段-值 (field-value) 对设置到哈希表中。
- 例子:
HMSET myhash field1 "Hello" field2 "World"
在哈希表myhash
中同时设置field1
的值为 "Hello" 和field2
的值为 "World"。
4. HMGET
- 功能: 获取所有给定字段的值。
- 例子:
HMGET myhash field1 field2
获取哈希表myhash
中field1
和field2
的值。
5. HGETALL
- 功能: 获取在哈希表中指定 key 的所有字段和值。
- 例子:
HGETALL myhash
获取哈希表myhash
中的所有字段和值。
6. HDEL
- 功能: 删除一个或多个哈希表字段。
- 例子:
HDEL myhash field1
删除哈希表myhash
中的字段field1
。
7. HEXISTS
- 功能: 查看哈希表的指定字段是否存在。
- 例子:
HEXISTS myhash field1
检查字段field1
是否存在于哈希表myhash
中。
8. HKEYS
- 功能: 获取哈希表中的所有字段名。
- 例子:
HKEYS myhash
获取哈希表myhash
中的所有字段名。
9. HVALS
- 功能: 获取哈希表中的所有值。
- 例子:
HVALS myhash
获取哈希表myhash
中的所有值。
10. HINCRBY
- 功能: 为哈希表中的指定字段的整数值加上增量。
- 例子:
HINCRBY myhash field1 2
将哈希表myhash
中字段field1
的值增加2。
11. HINCRBYFLOAT
- 功能: 为哈希表中的指定字段的浮点数值加上增量。
- 例子:
HINCRBYFLOAT myhash field1 0.5
将哈希表myhash
中字段field1
的值增加0.5。
12. HLEN
- 功能: 获取哈希表中字段的数量。
- 例子:
HLEN myhash
获取哈希表myhash
中字段的数量。
13. HSCAN
- 功能: 迭代哈希表中的键值对。
- 例子:
HSCAN myhash 0
迭代哈希表myhash
中的键值对。
List的基本命令
Redis的List是一个字符串列表,它按照插入顺序排序。以下是一些基本的List操作命令:
1. LPUSH
- 功能: 将一个或多个值插入到列表头部。
- 例子:
LPUSH mylist "world"
在列表mylist
的头部插入值 "world"。
2. RPUSH
- 功能: 将一个或多个值插入到列表尾部。
- 例子:
RPUSH mylist "hello"
在列表mylist
的尾部插入值 "hello"。
3. LLEN
- 功能: 获取列表长度。
- 例子:
LLEN mylist
获取列表mylist
的长度。
4. LRANGE
- 功能: 获取列表指定范围内的元素。
- 例子:
LRANGE mylist 0 -1
获取列表mylist
中的所有元素。
5. LINDEX
- 功能: 通过索引获取列表中的元素。
- 例子:
LINDEX mylist 0
获取列表mylist
中第一个元素。
6. LSET
- 功能: 通过索引设置列表元素的值。
- 例子:
LSET mylist 0 "newvalue"
将列表mylist
中第一个元素的值设置为 "newvalue"。
7. LPOP
- 功能: 移除并获取列表的第一个元素。
- 例子:
LPOP mylist
移除并返回列表mylist
的第一个元素。
8. RPOP
- 功能: 移除并获取列表的最后一个元素。
- 例子:
RPOP mylist
移除并返回列表mylist
的最后一个元素。
9. BLPOP
- 功能: 阻塞式移除并获取列表的第一个元素。
- 例子:
BLPOP mylist 0
阻塞直到列表mylist
有元素可弹出或超时。
10. BRPOP
- 功能: 阻塞式移除并获取列表的最后一个元素。
- 例子:
BRPOP mylist 0
阻塞直到列表mylist
有元素可弹出或超时。
11. LREM
- 功能: 移除列表中与参数 VALUE 相等的元素。
- 例子:
LREM mylist 0 "world"
移除列表mylist
中所有值为 "world" 的元素。
12. LTRIM
- 功能: 修剪(截取)一个已存在的 list,让它只包含指定范围的元素。
- 例子:
LTRIM mylist 1 -1
截取列表mylist
,只保留索引从1开始到结束的元素。
13. RPOPLPUSH
- 功能: 移除列表的最后一个元素,并将该元素添加到另一个列表并返回。
- 例子:
RPOPLPUSH mylist1 mylist2
将列表mylist1
的最后一个元素弹出并推入列表mylist2
的头部。
Set的基本命令
Redis的Set是一个无序集合,它通过哈希表实现,可以存储一些不重复的值。以下是一些基本的Set操作命令:
1. SADD
- 功能: 向集合添加一个或多个成员。
- 例子:
SADD myset "Hello"
添加单个成员 "Hello" 到集合myset
中。
2. SCARD
- 功能: 获取集合的成员数。
- 例子:
SCARD myset
获取集合myset
的成员数量。
3. SISMEMBER
- 功能: 判断成员元素是否是集合的成员。
- 例子:
SISMEMBER myset "Hello"
检查 "Hello" 是否是集合myset
的成员。
4. SMEMBERS
- 功能: 返回集合中的所有成员。
- 例子:
SMEMBERS myset
获取集合myset
中的所有成员。
5. SREM
- 功能: 移除集合中一个或多个成员。
- 例子:
SREM myset "Hello"
从集合myset
中移除成员 "Hello"。
6. SPOP
- 功能: 移除并返回集合中的一个随机元素。
- 例子:
SPOP myset
随机移除集合myset
中的一个成员并返回它。
7. SRANDMEMBER
- 功能: 返回集合中的一个或多个随机数。
- 例子:
SRANDMEMBER myset
随机返回集合myset
中的一个成员。
8. SDIFF
- 功能: 返回给定所有集合的差集。
- 例子:
SDIFF myset1 myset2
返回存在于myset1
但不在myset2
中的成员。
9. SDIFFSTORE
- 功能: 返回给定所有集合的差集并存储在指定的集合中。
- 例子:
SDIFFSTORE mysetdiff myset1 myset2
将myset1
和myset2
的差集保存到mysetdiff
。
10. SINTER
- 功能: 返回所有给定集合的交集。
- 例子:
SINTER myset1 myset2
返回集合myset1
和myset2
的交集。
11. SINTERSTORE
- 功能: 返回所有给定集合的交集并存储在指定的集合中。
- 例子:
SINTERSTORE mysetinter myset1 myset2
将myset1
和myset2
的交集保存到mysetinter
。
12. SUNION
- 功能: 返回所有给定集合的并集。
- 例子:
SUNION myset1 myset2
返回集合myset1
和myset2
的并集。
13. SUNIONSTORE
- 功能: 返回所有给定集合的并集并存储在指定的集合中。
- 例子:
SUNIONSTORE mysetunion myset1 myset2
将myset1
和myset2
的并集保存到mysetunion
。
14. SMOVE
- 功能: 将成员从一个集合移动到另一个集合。
- 例子:
SMOVE myset1 myset2 "Hello"
将成员 "Hello" 从myset1
移动到myset2
。
有序集合(ZSet)的基本命令
1. 添加元素
- 命令:
ZADD key score member [score member ...]
- 说明: 向有序集合key中添加一个或多个成员,或者更新已存在成员的分数(score)。
- 示例:
ZADD myzset 1 "one" 2 "two"
将成员"one"和"two"分别以分数1和2添加到"myzset"。
2. 获取元素分数
- 命令:
ZSCORE key member
- 说明: 获取有序集合key中成员member的分数。
- 示例:
ZSCORE myzset "one"
获取"myzset"中"one"的分数。
3. 删除元素
- 命令:
ZREM key member [member ...]
- 说明: 删除有序集合key中的一个或多个成员。
- 示例:
ZREM myzset "one"
从"myzset"中删除成员"one"。
4. 计数
- 命令:
ZCARD key
- 说明: 获取有序集合key的成员数量。
- 示例:
ZCARD myzset
获取"myzset"的成员数量。
5. 范围查询
- 命令:
ZRANGE key start stop [WITHSCORES]
- 说明: 按照分数值递增(从小到大)顺序返回有序集key中指定区间内的成员。
- 示例:
ZRANGE myzset 0 -1 WITHSCORES
返回"myzset"中所有成员及其分数。
6. 分数范围查询
- 命令:
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
- 说明: 返回有序集key中,所有分数介于min和max之间的成员。
- 示例:
ZRANGEBYSCORE myzset 1 2 WITHSCORES
返回"myzset"中分数介于1到2的成员及其分数。
7. 计算分数范围成员数
- 命令:
ZCOUNT key min max
- 说明: 计算有序集key中,分数介于min和max之间的成员数量。
- 示例:
ZCOUNT myzset 1 2
计算"myzset"中分数介于1到2的成员数量。
8. 移除分数范围内的成员
- 命令:
ZREMRANGEBYSCORE key min max
- 说明: 删除有序集key中,所有分数介于min和max之间的成员。
- 示例:
ZREMRANGEBYSCORE myzset 1 1
删除"myzset"中所有分数为1的成员。
9. 增加成员分数
- 命令:
ZINCRBY key increment member
- 说明: 为有序集key的成员member的分数加上增量increment。
- 示例:
ZINCRBY myzset 2 "one"
将"myzset"中"one"的分数增加2。
10. 排名查询
- 命令:
ZRANK key member
- 说明: 返回有序集key中成员member的排名。其中有序集成员按分数值递增(从小到大)排序。
- 示例:
ZRANK myzset "one"
获取"myzset"中"one"的排名。
11. 逆序排名查询
- 命令:
ZREVRANK key member
- 说明: 返回有序集key中成员member的排名,按分数值递减(从大到小)排序。
- 示例:
ZREVRANK myzset "one"
获取"myzset"中"one"的逆序排名。
12. 逆序范围查询
- 命令:
ZREVRANGE key start stop [WITHSCORES]
- 说明: 返回有序集key中,指定区间内的成员,通过索引,分数从高到底。
- 示例:
ZREVRANGE myzset 0 -1 WITHSCORES
返回"myzset"中所有成员及其分数,按分数从高到低。