Redis 学习-数据结构基本简介
Redis 数据结构基本简介
redis 可以存储5中不同数据结构类型之间的映射,这五种数据结构类型分别为STRING(字符串),LIST(列表),SET(集合),HASH(哈希),ZSET(有序集合)
结构类型 | 结构与存储的值 | 结构的读写能力 |
---|---|---|
STRING | 可以是字符串,整数或者浮点数 | 对整个自负换或者字符串其中一部分执行擦走哦,对整数和浮点数自增(increment)或者自减少(decrement)操作 |
LIST | 一个链表,链表上的每个节点都包含了一个字符串(也就是字符串的所有属性结构) | 从链表的两端推入或者弹出元素,根据偏移量对链表进行修剪,读取单个或者多个元素,根据值查找或者移除元素 |
SET | 包含字符串的无序收集器,并且被包含的每个字符串都是独一无二的,各不相同 | 添加,获取,移除单个元素,检查一个元素是否存在于集合中,计算交集,并集,差集,从集合里面随机获取元素 |
HASH | 包含键值对的无序散列表 | 添加,获取,移除单个键值对,获取所有键值对 |
ZSET | 字符串与浮点数分值之间对有序映射,元素的排列顺序由分值的大小决定 | 添加,获取,删除单个元素,根据分值范围活成员来获取元素 |
STRING(字符串)
- GET: 获取存储在给定键中的值
- SET: 设置存储在给定键中的值
- DEL: 删除存储在给定键中的值(该命令可以适应所有的类型)
代码示例:
LIST(列表)
一个列表结构可以有序的存储多个字符串
- RPUSH:将给定的值推入列表的右端
- LRANGE: 获取列表在给定范围上的所有值
- LINDEX: 获取列表在给定位置上的单个元素
- LPOP: 从列表的左端弹出一个值,并返回被弹出的值
代码示例:
SET(集合)
Redis中的结合和列表都可以存储多个字符串,它们之间的不同在于,列表可以存储多个相同的字符串,而集合则通过使用散列表来保证自己存储的每个字符串都是各不相同的
- SADD: 将给定元素添加到集合
- SMEMBERS: 返回集合包含到所有元素
- SISMEMBER: 检查给定定元素是否存在于集合中
- SREM: 如果给定定元素存在于集合中,那么就删除这个元素
- SINTER: 交集计算
- SUNION: 并集计算
- SDIFF: 差集计算
代码示例:
HASH(哈希)
HASH(哈希)可以存储多个键值对之间对映射,和字符串一样,HASH的值可以是字符串也可以是数值,并且用户同样可以对HASH数字值自增自减操作
- HSET: 关联起给定对键值对
- HGET: 获取指定的键值对
- HGETALL: 获取散列包含对所有键值对
- HDEL: 如果给定键存于散列里面,那么移除这个键
代码示例:
ZSET(有序集合)
有序集合的键被成为成员(member),每个成员都是各不相同的,而有序集合的值则被成为分值(score),分值必须为浮点数,有序集合是Redis里面唯一一个既可以根据成员访问元素,又可以根据分值以及分值等排列顺序来访问元素等结构
- ZADD: 将一个带有给定分值等成员添加
- ZRANGE: 获取指定的键值对
- ZRANGEBYSCORE: 获取散列包含对所有键值对
- ZREM: 如果给定键存于散列里面,那么移除这个键
代码示例:
本作品采用《CC 协议》,转载必须注明作者和本文链接