5种数据结构
结构类型 | 结构存储的值 | 结构的操作 |
---|---|---|
String | 可以是字符串,整数,浮点数 | 对整个字符串的基部一部分进行操,对整数、浮点数执行加减操作 |
List | 双向链表,链表上每个节点都包含了一个String | 从链表两端push\pop元素,根据偏移量对链表修剪,读取单个或多个元素,根据值查找或者移除元素 |
Set | 包含字符串的无序收集器,并且被包含的每个字符串都是独一无二不可重复 | 添加、获取、移除单个元素,检查某元素是否存在,计算交、并、差集,从集合中随机获取元素 |
Hash | 包含键值对的无序散列表 | 添加、获取、移除单个键值对,获取所有键值对 |
Zset | 字符串成员与浮点数分值之间的有序映射,元素的排列顺序由分值的大小决定 | 添加、获取、删除单个元素,根据分值范围或者成员来获取元素 |
实用命令
String字符串
- 增加、修改: set key value
- 获取: get key
- 删除: del key
- 正则取key: keys "key*"
List列表
一个列表可以有序地存储多个字符串,并且列表里的元素是可以重复的
- 左/右增加:lpush/rpush key value
- 左/右获取并移除:lpop/rpop key
- 列出指定范围元素:lrange key 0 -1
- 取指定下标元素:lindex key 2
Set集合
- 增加:sadd set-key value,成功添加返回1,如果返回0则表示集合中已经有这个元素了
- 删除:srem set-key value,存在返回1,不存在返回0
- 存在性:sismember set-key value,存在返回1,不存在返回0
- 获取所有元素:smembers set-key
Hash散列
- 增加:hset hash-key subkey value
- 获取:hget hash-key subkey / hgetall key
- 删除:hdel hash-key subkey
Zset有序集合
有序集合的键被称为成员,每个成员都是各不相同的。有序集合的值被称为分值,分值必须为浮点数。
有序集合是redis中唯一一个既可以根据成员访问元素,又可以根据分值以及分值的排列须序来访问元素的结构。
- 增加:zadd zset-key number value
- 获取:zrange zset-key 0 -1 withscores 根据元素在有序排列中所处的位置,从有序集合里面获取多个元素
- 获取:zrangebyscore zset-key 1 2 withscores 获取有序集合在给定分值范围内的所有元素
- 删除:zrem zset-key value 如果存在删除