Redis数据类型及常用命令

2020-04-23  本文已影响0人  gigglesoso

Redis常用的五种数据类型分别为:String,List,Hash,Set、Zset


String:字符串是通过key-value存储,

redis 127.0.0.1:6379> SET StringKey redis

OK

redis 127.0.0.1:6379> GET StringKey 

"redis"


List:列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

redis 127.0.0.1:6379> LPUSH ListKey redis

(integer) 1

redis 127.0.0.1:6379> LPUSH ListKey mongodb

(integer)2

redis 127.0.0.1:6379> LPUSH ListKey mysql

(integer) 3

redis 127.0.0.1:6379> LRANGE ListKey 0 10

1) "mysql"

2) "mongodb"

3) "redis"


Hash:格式为key field value,key表示整个map的key,field标志map中的key,value表示map中key对应的值,类似Map<K,<K,V>> map;下面同时批量添加一个map的很多字段

127.0.0.1:6379> HMSET HashKey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000

OK

127.0.0.1:6379> HGETALL HashKey

1) "name"

2) "redis tutorial"

3) "description"

4) "redis basic commands for caching"

5) "likes"

6) "20"

7) "visitors"

8) "23000"


Set: String 类型的无序集合,集合成员是唯一的,不重复。实现是通过Hash实现,只不过value值时null,非常类似java中的HashSet是基于HashMap实现的。

redis 127.0.0.1:6379> SADD runoobkey redis

(integer) 1

redis 127.0.0.1:6379> SADD runoobkey mongodb

(integer) 1

redis 127.0.0.1:6379> SADD runoobkey mysql

(integer) 1

redis 127.0.0.1:6379> SADD runoobkey mysql

(integer) 0

redis 127.0.0.1:6379> SMEMBERS runoobkey

1) "mysql"

2) "mongodb"

3) "redis"


Zset:有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

redis 127.0.0.1:6379> ZADD runoobkey 1 redis

(integer) 1

redis 127.0.0.1:6379> ZADD runoobkey 2 mongodb

(integer) 1

redis 127.0.0.1:6379> ZADD runoobkey 3 mysql

(integer) 1

redis 127.0.0.1:6379> ZADD runoobkey 3 mysql

(integer) 0

redis 127.0.0.1:6379> ZADD runoobkey 4 mysql

(integer) 0

redis 127.0.0.1:6379> ZRANGE runoobkey 0 10 WITHSCORES

1) "redis"

2) "1"

3) "mongodb"

4) "2"

5) "mysql"

6) "4"

上一篇 下一篇

猜你喜欢

热点阅读