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专题一:数据类型的主要内容,如果未能解决你的问题,请参考以下文章