您的位置:首页 > 数据库 > Redis

redis爬坑记(二) redis的数据类型

2017-12-20 11:53 330 查看
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted
set:有序集合)。


String(字符串)

命令: get    set

127.0.0.1:6379> set username  xc
OK
127.0.0.1:6379> get username
"xc"

注意:一个键最大能存储512MB


Hash(哈希)

命令: hmset     hget
127.0.0.1:6379> HMSET myhash field1 "x" field2 "c"
OK
127.0.0.1:6379> HGET myhash field1
"x"
127.0.0.1:6379> HGET myhash field2
"c"
127.0.0.1:6379> HMSET user username "xc" password "123"
OK
127.0.0.1:6379> HGET user username
"xc"
127.0.0.1:6379> HGET user password
"123"

每个 hash 可以存储 232 -1
键值对(40多亿)。


Set(集合)

Redis的Set是string类型的无序集合。

命令:sadd

sadd key member

查看 
smembers key


添加一个string元素到,key对应的set集合中,成功返回1,如果元素已经在集合中返回0,key对应的set不存在返回错误。

127.0.0.1:6379> sadd xc number1
(integer) 1
127.0.0.1:6379> sadd xc number2
(integer) 1
127.0.0.1:6379> sadd xc number3
(integer) 1
127.0.0.1:6379> smembers xc
1) "number2"
2) "number3"
3) "number1"
127.0.0.1:6379>



zset(sorted set:有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

命令:

zadd  添加元素

zadd key score member

查看:

ZRANGEBYSCORE key 0 1000

127.0.0.1:6379> zadd a 0 1
(integer) 1
127.0.0.1:6379> zadd a 0 1
(integer) 0
127.0.0.1:6379> zadd a 0 2
(integer) 1
127.0.0.1:6379> zadd a 1 1
(integer) 0
127.0.0.1:6379> zadd a 0 3
(integer) 1
127.0.0.1:6379> zadd a 1 3
(integer) 0
127.0.0.1:6379> zadd a 1 4
(integer) 1
127.0.0.1:6379> ZRANGEBYSCORE a 0 10
1) "2"
2) "1"
3) "3"
4) "4"



List(列表)

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

命令:
lpush
lrange
127.0.0.1:6379> lpush xu a
(integer) 1
127.0.0.1:6379> lpush xu b
(integer) 2
127.0.0.1:6379> lpush xu c
(integer) 3
127.0.0.1:6379> lpush xu d
(integer) 4
127.0.0.1:6379> lpush xu e
(integer) 5
127.0.0.1:6379> lpush xu f
(integer) 6
127.0.0.1:6379> lrange xu 0 2
1) "f"
2) "e"
3) "d"
127.0.0.1:6379> lrange xu 0 10
1) "f"
2) "e"
3) "d"
4) "c"
5) "b"
6) "a"
127.0.0.1:6379>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: