redis之路(三):redis 数据结构及常见命令

五种数据类型:

字符串(String)

哈希(hash)

字符串列表(list)

有序字符串集合(sorted set)

字符串集合(set)

1.字符串(String)

Key定义的注意点:

不要过长,

不要过短,

统一的命名规范

存储String

二进制安全的,存入和获取的数据相同

Value最多可以容纳的数据长度是512M

存储String常用命令

赋值

取值

删除

数值增减

语法 解释 例子
SET key 设置指定 key 的值 $1600
GET key 获取指定 key 的值 $1600
GETSET key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value) $1600
DEL key1[ key2…] 删除 $1600
INCR key 将 key 中储存的数字值增一 $1600
INCRBY key increment 将 key 所储存的值加上给定的增量值(increment) $1600
DECR key 将 key 中储存的数字值减一 $1600
DECRBY key decrement key 所储存的值减去给定的减量值(decrement) $1600
APPEND key value 如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾 $1600

2.哈希(hash)

存储Hash

String key和String Value的Map容器

每一个Hash可以存储4294967295个键值对

存储Hash常用命令:

赋值

取值

删除

增加数字

判断字段是否存在

获取hash属性个数

获取hash所有属性名称

语法 解释 例子
HSET key field value 将哈希表 key 中的字段 field 的值设为 value $1600
HMSET key field1 value1 [field2 value2 ] 同时将多个 field-value (域-值)对设置到哈希表 key 中 $1600
HGET key field 获取存储在哈希表中指定字段的值 $1600
HGETALL key 获取在哈希表中指定 key 的所有字段和值 $1600
HLEN key 获取哈希表中字段的数量 $1600
HKEYS key 获取所有哈希表中的字段 $1600
HVALS key 获取哈希表中所有值 $1600
HDEL key field1 [field2] 删除一个或多个哈希表字段 $1600
HINCRBY key field increment 为哈希表 key 中的指定字段的整数值加上增量 increment $1600
HEXISTS key field 查看哈希表 key 中,指定的字段是否存在 $1600

3.字符串列表(list)

存储list:

ArrayList使用数组方式

LinkedList使用双向链接方式

双向链接表中增加数据

双向链接表中删除数据

存储list常用命令

两端添加

两端弹出

扩展命令

语法 解释 例子
LPUSH key value1 [value2] 将一个或多个值插入到列表头部 $1600
LPUSHX key value 将一个值插入到已存在的列表头部 $1600
RPUSH key value1 [value2] 在列表中添加一个或多个值到列表底部 $1600
RPUSHX key value 为已存在的列表添加值 $1600
LRANGE key start stop 获取列表指定范围内的元素 $1600
LPOP key 移出并获取列表的第一个元素 $1600
RPOP key 移除列表的最后一个元素,返回值为移除的元素。 $1600
LLEN key [value2] 获取列表长度 $1600
LREM key count value 移除列表元素 count为正数从左移除,负数从右移除,0为所有 $1600
LSET key index value 通过索引设置列表元素的值 $1600
LINSERT key BEFORE AFTER pivot value 在列表的元素前或者后插入元素
RPOPLPUSH source destination 移除列表的最后一个元素,并将该元素添加到另一个列表并返回 $1600

4.字符串集合(set)

存储Set和List类型不同的是,Set集合中不允许出现重复的元素

Set可包含的最大元素数量是4294967295

存储set常用命令:

添加/删除元素

获取集合中的元素

集合中的差集运算

集合中的交集运算

集合中的并集元算

扩展命令

存储Set使用场景:

跟踪一些唯一性数据

用于维护数据对象之间的关联关系

语法 解释 例子
SADD key member1 [member2] 向集合添加一个或多个成员 $1600
SMEMBERS key 返回集合中的所有成员 $1600
SCARD key 获取集合的成员数 $1600
SRANDMEMBER key [count] 返回集合中一个或多个随机数 $1600
SREM key member1 [member2] 移除集合中一个或多个成员 $1600
SISMEMBER key member 判断 member 元素是否是集合 key 的成员 $1600
SDIFF key1 [key2] 返回给定所有集合的差集 $1600
SDIFFSTORE destination key1 [key2] 返回给定所有集合的差集并存储在 destination 中 $1600
SINTER key1 [key2] 返回给定所有集合的交集 $1600
SINTERSTORE destination key1 [key2] 返回给定所有集合的交集并存储在 destination 中 $1600
SUNION key1 [key2] 返回所有给定集合的并集 $1600
SUNIONSTORE destination key1 [key2] 所有给定集合的并集存储在 destination 集合中 $1600

5.有序字符串集合(sorted set)

存储Sorted-Set

Sorted-Set和Set的区别

Sorted-Set中的成员在集合中的位置是有序的

存储Sorted-set常用命令

添加元素

获得元素

删除元素

范围查询

扩展命令

Sorted-Set使用场景:

大型在线游戏积分排行榜

构建索引数据

语法 解释 例子
ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数 $1600
ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合指定区间内的成员 $1600
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] 通过分数返回有序集合指定区间内的成员 $1600
ZREVRANGE key start stop [WITHSCORES] 返回有序集中指定区间内的成员,通过索引,分数从高到低 $1600
ZCARD key 获取有序集合的成员数 $1600
ZCOUNT key min max 计算在有序集合中指定区间分数的成员数 $1600
ZREM key member [member …] 移除有序集合中的一个或多个成员 $1600
ZREMRANGEBYRANK key start stop 移除有序集合中给定的排名区间的所有成员 $1600
ZREMRANGEBYSCORE key min max 移除有序集合中给定的分数区间的所有成员 $1600
ZINCRBY key increment member 有序集合中对指定成员的分数加上增量 increment $1600
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章