一、字符串(string)类型
1、SET key value 设置指定key的值
2、GET key 获取指定key的值
127.0.0.1:6379> set name redis
OK
127.0.0.1:6379> get name
"redis"
3、SETEX key seconds value 将值value关联到key,并将key的过期时间设为seconds(以秒为单位)
127.0.0.1:6379> setex name 60 redis
OK
127.0.0.1:6379> ttl name(查询以name为key的存活时间)
(integer) 55
127.0.0.1:6379> get name
"redis"
127.0.0.1:6379> ttl name
(integer) -2
127.0.0.1:6379> get name
(nil)
4、SETNX key value 只有在key不存在时设置key的值
127.0.0.1:6379> exists job # job 不存在
(integer) 0
127.0.0.1:6379> setnx job "programmer" # job 设置成功
(integer) 1
127.0.0.1:6379> setnx job "code-farmer" # 尝试覆盖 job ,失败
(integer) 0
127.0.0.1:6379> GET job # 没有被覆盖
"programmer"
二、哈希(hash)类型
1、HSET key field value 将哈希表Key中的字段field的值设为value
2、HGET key field 获取存储在哈希表中指定字段的值
3、HDEL key field 删除存储在哈希表中的指定字段
4、KEYS key 获取哈希表中所有字段
5、HVALS key 获取哈希表中的所有值
6、HGETALL key 获取在哈希表指定key的所有字段和值
127.0.0.1:6379> hset myhash1 name xiaoming
(integer) 1
127.0.0.1:6379> hset myhash1 age 20
(integer) 1
127.0.0.1:6379> hset myhash1 sex man
(integer) 1
127.0.0.1:6379> hkeys myhash1
1) "age"
2) "sex"
3) "name"
127.0.0.1:6379> hvals myhash1
1) "20"
2) "man"
3) "xiaoming"
127.0.0.1:6379> hgetall myhash1
1) "age"
2) "20"
3) "sex"
4) "man"
5) "name"
6) "xiaoming"
三、列表(list)类型
1、LPUSH key value1 [value2] (将一个或多个值插入到列表头部)
2、LRANGE key start stop 获取列表从start到stop范围内的元素
3、RPOP key 移除并获取列表最后一个元素
4、LLEN key 获取列表长度
5、BRPOP key1 [key2] timeout 移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
127.0.0.1:6379> lpush list1 foo bar
(integer) 2
127.0.0.1:6379> lrange list1 0 -1 #end为-1代表返回所有元素
1) "bar"
2) "foo"
127.0.0.1:6379> llen list1
(integer) 2
127.0.0.1:6379> rpop list1
"foo"
127.0.0.1:6379> llen list1
(integer) 1
127.0.0.1:6379> rpop list1
"bar"
127.0.0.1:6379> brpop list1 100
(nil)
(100.06s)
127.0.0.1:6379> lpush list1 abc
(integer) 1
127.0.0.1:6379> brpop list1 100
1) "list1"
2) "abc" #假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时长。 反之,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值。
四、集合(set)类型(集合包括不可重复元素)
1、SADD key member1 [member2] 向集合中添加一个或多个成员
2、SMEMBERS key 返回集合中的所有成员
3、SARD key 获取集合的成员数
127.0.0.1:6379> sadd myset hello foo
(integer) 2
127.0.0.1:6379> smembers myset
1) "foo"
2) "hello"
127.0.0.1:6379> sadd myset hello
(integer) 0 #myset集合中已有hello元素,添加失败
127.0.0.1:6379> scard myset
(integer) 2
4、SINTER key1 [key2] 返回给定所有集合的交集
5、SDIFF key1 [key2] 返回给定所有集合的差集
127.0.0.1:6379> sadd myset hello foo bar rich
(integer) 4
127.0.0.1:6379> sadd myset2 hello rich lar chat
(integer) 4
127.0.0.1:6379> sinter myset myset2
1) "rich"
2) "hello"
127.0.0.1:6379> sdiff myset myset2
1) "foo"
2) "bar"
127.0.0.1:6379> sdiff myset2 myset #key值的顺序先后有差别
1) "lar"
2) "chat"
6、SREM key member1 [member2] 移除集合中一个或多个成员
127.0.0.1:6379> sadd myset hello rich bar chat
(integer) 4
127.0.0.1:6379> srem myset hello bar
(integer) 2
127.0.0.1:6379> scard myset
(integer) 2
五、有序集合(sorted set)类型
1、ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数
2、ZRANGE key start stop [WITHSCORES] 通过索引区返回有序集合中指定区间内的成员
127.0.0.1:6379> zadd myzset 1 hello
(integer) 1
127.0.0.1:6379> zadd myzset 1 foo
(integer) 1
127.0.0.1:6379> zadd myzset 2 world 3 bar
(integer) 2
127.0.0.1:6379> zrange myzset 0 -1 withscores
1) "foo"
2) "1"
3) "hello"
4) "1"
5) "world"
6) "2"
7) "bar"
8) "3"
3、ZINCRBY key increment member 有序集合中对指定成员的分数加上增量increment
4、ZREM key member [member ...] 移除有序集合中的一个或多个成员
127.0.0.1:6379> ZADD myzset 1 "hello"
(integer) 1
127.0.0.1:6379> ZADD myzset 1 "foo"
(integer) 1
127.0.0.1:6379> ZINCRBY myzset 2 "hello"
(integer) 3
127.0.0.1:6379> ZRANGE myzset 0 -1 WITHSCORES
1) "foo"
2) "2"
3) "hello"
4) "3"
127.0.0.1:6379> ZREM myzset "foo"
(integer) 1
127.0.0.1:6379> ZRANGE myzset 0 -1 WITHSCORES
1) "hello"
2) "3"
想了解更多相关命令可以跳转到Redis中文网