Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
string:key value型
127.0.0.1:6379> set name "haha"
OK
127.0.0.1:6379> get name
"haha"
hash 是一个键值对集合
127.0.0.1:6379> HSET person name zck
(integer) 1
127.0.0.1:6379> HSET person age 2
(integer) 1
127.0.0.1:6379>
127.0.0.1:6379> hget person
(error) ERR wrong number of arguments for 'hget' command
127.0.0.1:6379> hgetall person
1) "name"
2) "zck"
3) "age"
4) "2"
127.0.0.1:6379>
127.0.0.1:6379> hkeys person
1) "name"
2) "age"
127.0.0.1:6379> hvalues person
(error) ERR unknown command 'hvalues'
127.0.0.1:6379> hvals person
1) "zck"
2) "2"
list按照插入顺序进行排序
127.0.0.1:6379> lpush usr 1 2 3 4
(integer) 4
127.0.0.1:6379> lrange usr 0 10
1) "4"
2) "3"
3) "2"
4) "1"
Set是string类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
127.0.0.1:6379> sadd set 1 2 3 4 5 6
(integer) 6
127.0.0.1:6379> smembers set
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
spop 随机弹出元素
sdiff 两个集合差积
sinter 交积
sunion 并集
sorted set有序集合,crud元素时候可以指定位置
127.0.0.1:6379> zadd zset 1 2 3 4 5 6
(integer) 3
127.0.0.1:6379> zrange zset 0 10
1) "2"
2) "4"
3) "6
其中 1 3 5为顺序号,就是withscores
127.0.0.1:6379> zrange zset 0 10 withscores
1) "2"
2) "1"
3) "4"
4) "3"
5) "6"
6) "5"