Redis专题一:数据类型

Posted 黄先生的日志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis专题一:数据类型相关的知识,希望对你有一定的参考价值。

Redis专题一:数据类型

Redis是一种非关系型数据库,使用key-value键值对存储方式
key-value可以是string, list, hashes, or ordered sets等数据类型

1. strings

存储字符串,数值类型

命令 解释 例子
SET key value 存入key-value SET server:name "fido"
GET key value 获取指定key的value GET server:name
=> "fido"
EXISTS key 判断是否存在key,1表示在,0表示不存在 EXISTS server:name
=> 1
DEL key 删除指定key DEL server:name
INCR key 在指定key的value值上加上1,针对的是数值类型 SET connections 10
INCR connections
=> 11
INCRBY key step 在指定key的value值上加上step,针对的是数值类型 SET connections 1
INCRBY connections 100
=> 101
DECR key 在指定key的value值上减上1,针对的是数值类型 SET connections 10
DECR connections
=> 9
DECRBY key step 在指定key的value值上减上step,针对的是数值类型 SET connections 100
DECRBY connections 10
=> 90

2. list

有序的列表,可以在列表头和尾插入删除元素

命令 解释 例子
RPUSH key [value_0,
...,value_n]
在列表尾部插入一个或多个新元素 RPUSH friends "Alice"
RPUSH friends "Sam" "Alice"
RPOP key 删除列表尾部元素,并返回该元素 RPOP friends
=> "Alice"
LPUSH key [value_0, ...,value_n] 在列表头部插入新元素 LPUSH friends "Sam"
LPUSH friends "Sam"
LPOP key 删除列表头部元素,并返回该元素 LPOP friends
=> "Sam"
LLEN key 返回列表的长度 LLEN friends
LRANGE key start end 返回列表的子集,-1代表最后一个元素 LPUSH friends "Sam" "Alice" "Bob"
LRANGE friends 0 -1
=>
1) "Sam"
2) "Alice"
3) "Bob"

3. sets

与list一样,但是是无序且不重复的

命令 解释 例子
SADD key [value_0
, ...,value_n]
向set中插入一个或多个新元素 SADD superpowers "flight"
SADD superpowers "x-ray vision" "reflexes"
SREM key value 删除指定key的value, 并返回1表示元素村在,返回0表示元素不存在 SREM superpowers "reflexes"
=> 1
SISMEMBER key value 判断set中是否存在value,1表示在,0表示不存在 SISMEMBER superpowers "flight"
=> 1
SMEMBERS key 返回set集中所有元素构成的列表 SMEMBERS superpowers
=>
1) "flight"
2) "x-ray vision"
SUNION key1 key2 对2个set做交集运算 SADD superpowers "x-ray vision"
SADD birdpowers "pecking"
SADD birdpowers "flight"
SUNION superpowers birdpowers
=>
1) "pecking"
2) "x-ray vision"
3) "flight"
SPOP key number 删除number个元素,并返回被删除的元素列表 SADD letters a b c d e f
SPOP letters 2
=>
1) "c"
2) "a"

4. sorted sets

与set一样,但是是按照score排序的

命令 解释 例子
ZADD key score value 向set中插入指定score的新元素 ZADD hackers 1940 "Alan "
ZADD key start end 获取指定range的元素列表 ZADD hackers 1940 "Alan "
ZADD hackers 1906 "Grace "
ZADD hackers 1953 "Richard "
ZADD hackers 1965 "Yukihiro "
ZADD hackers 1916 "Claude "
ZADD hackers 1969 "Linus "
ZADD hackers 1957 "Sophie "
ZADD hackers 1912 "Alan "
ZRANGE hackers 2 4
=>
1) "Claude"
2) "Alan"
3) "Richard"

5. Hashes

用于存储包含多个成员字段的对象,如一个用户包含名字、年龄、性别等

命令 解释 例子
HSET key field value 向对象的指定的一个字段赋值 HSET user:1001 name "John Smith"
HMSET key [field_0 value_0
, ... , field_n value_n]
向对象的指定的多个字段赋值 HMSET user:1001 name "Mary Jones" age 20
HGETALL key 返回对象 HMSET user:1001 name "Mary Jones" age 20
HGETALL user:1001
=>
1) "name"
2) "Mary Jones"
3) "age"
4) "20"
HGET key field 获取对象指定字段的value值 HGET user:1001 name
=> "Mary Jones"

以上是关于Redis专题一:数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Redis Tutorial

redis专题

redis专题十七:再聊一聊redis的简单动态字符串

java代码覆盖率工具,专题解析

Redis 学习 —— 数据类型及操作

Redis技术专题系列之核心数据结构特性介绍和案例分析