Redis(二):Redis数据类型的操作命令

1.字符串类型

1.1set与mset

set语法:set key value
mset语法:mset key value [key value…]
set设置的是一个key-value,mset是批量设置

1.2get与mget

get语法:get key
mget语法:mget key [key …]
get是获取一个key的value,mget是批量获取

1.3incr与decr

作用:将key对应的value加一(减一),如果key不存在,就会设置为0后在加一(减一),注意非数值操作是不正确的。
语法:incr(decr) key

1.4append

作用:将如果 key 存在,则将 value 追加到 key 原来旧值的末尾
如果 key 不存在,则将 key 设置值为 value
语法: append key value
返回值:追加以后的字符串的总长度。

1.5strlen

作用:strlen key
作用: 返回 key 所储存的字符串值的长度

1.6getrange与setrange

getrange语法:getrange key start end
setrange语法:setrange key offset value
返回值:getrange获取 key 中字符串值从 start 开始到 end 结束的子字符串,包括 start 和 end, 负数表示从字符串的末尾开始, -1 表示最后一个字符。setrange用 value 覆盖(替换) key 的存储的值从 offset 开始,不存在的 key 做空白字符串,返回值为修改后的长度。

2.哈希类型

是一个 string 类型的 field 和 value 的映射表, hash 特别适合用于存储对象。

2.1hset与hmset

hset语法:hset key field value
hmset语法:hmset key field value [field value…]
作用:

  • hset将哈希表 key 中的域 field 的值设为 value, 如果 key 不存在, 则新建 hash 表,执行赋值,如果有 field ,则覆盖值。
  • hmset是批量设置

返回值:

  • hset如果 field 是 hash 表中新 field,且设置值成功,返回 1,如果 field 已经存在,旧值覆盖新值,返回 0
  • hmset成功返回ok,失败返回一个错误

2.2hget、hmget、hgetall

hget语法: hget key field
hmget语法:hmget key field [field…]
hgetall语法:hgetall key
区别:前者获取一个filed的value,hmget是一个或者多个,hgetall是全部的
hgetall:

2.3hdel

语法: hdel key field [field…]
作用: 删除哈希表 key 中的一个或多个指定域 field,不存在 field 直接忽略
返回值:成功删除的 field 的数量

2.4hkeys、hvals与hexists

hkeys语法: hkeys key
hvals语法:hvals key
hexists语法: hexists key field
作用:

  • hkeys是获取key所有的field
  • hvals是获取key所有的value
  • hexists是判断key中是否存在field

3.list

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)

3.1lpush与rpush

语法: lpush/rpush key value [value…]
作用:将value从左/右插入list

3.2lrange

语法: lrange key start stop
作用: 获取列表 key 中指定区间内的元素, 0 表示列表的第一个元素,以 1 表示列表的第
二个元素; start , stop 是列表的下标值,也可以负数的下标, -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。 start , stop 超出列表的范围不会出现错误。
返回值: 指定区间的列表

3.3lindex

语法: lindex key index
作用: 获取列表 key 中下标为指定 index 的元素, 列表元素不删除, 只是查询。 0 表示列
表的第一个元素,以 1 表示列表的第二个元素; start , stop 是列表的下标值,也可以负数的下标, -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
返回值:指定下标的元素; index 不在列表范围,返回 nil

3.4llen

语法: llen key
作用: 获取列表 key 的长度
返回值: 数值,列表的长度; key 不存在返回 0

3.5lrem

语法: lrem key count value
作用: 根据参数 count 的值,移除列表中与参数 value 相等的元素, count >0 , 从列表的
左侧向右开始移除; count < 0 从列表的尾部开始移除; count = 0 移除表中所有
与 value 相等的值。
返回值: 数值,移除的元素个数

3.6lset

lset语法: lset key index value
l作用: 将列表 key 下标为 index 的元素的值设置为 value。
返回值:设置成功返回 ok ; key 不存在或者 index 超出范围返回错误信息

4.set

redis 的 Set 是 string 类型的无序集合,集合成员是唯一的,即集合中不能出现重复的数据。

4.1sadd

语法: sadd key member [member…]
作用: 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元
素将被忽略, 不会再加入。
返回值:加入到集合的新元素的个数。不包括被忽略的元素。

4.2smembers

语法: smembers key
作用: 获取集合 key 中的所有成员元素,不存在的 key 视为空集合

4.3sismember

语法: sismember key member
作用: 判断 member 元素是否是集合 key 的成员
返回值: member 是集合成员返回 1,其他返回 0 。

4.4scard

语法: scard key
作用: 获取集合里面的元素个数
返回值:数字, key 的元素个数。其他情况返回 0

4.5srem

语法: srem key member [member…]
作用: 删除集合 key 中的一个或多个 member 元素,不存在的元素被忽略。
返回值:数字,成功删除的元素个数, 不包括被忽略的元素。

4.6srandmember

语法: srandmember key [count]
作用:只提供 key,随机返回集合中一个元素,元素不删除,依然在集合中;提供了 count
时, count 正数, 返回包含 count 个数元素的集合,集合元素各不相同。 count 是负数,
返回一个 count 绝对值的长度的集合,集合中元素可能会重复多次。
返回值:一个元素;多个元素的集合

4.7spop

语法: spop key [count]
作用: 随机从集合中删除一个元素, count 是删除的元素个数。
返回值:被删除的元素, key 不存在或空集合返回 nil

5.有序集合类型 zset

redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。不同的是 zset 的每个元素都会关联一个分数(分数可以重复), redis 通过分数来为集合中的成员进行从小到大的排序。

5.1 zadd

语法: zadd key score member [score member…]
作用: 将一个或多个 member 元素及其 score 值加入到有序集合 key 中,如果 member 存
在集合中,则更新值; score 可以是整数或浮点数
返回值: 数字, 新添加的元素个数

5.2zrange与zrevrange

zrange语法: zrange key start stop [WITHSCORES]
zrange作用:查询有序集合,指定区间的内的元素。 集合成员按 score 值从小到大来排序。 start,stop 都是从 0 开始。 0 是第一个元素, 1 是第二个元素,依次类推。 以 -1 表示最后一
个成员, -2 表示倒数第二个成员。 WITHSCORES 选项让 score 和 value 一同返回。
zrange返回值:自定区间的成员集合
zreverange与zrange用法相同,只是返回值方向相反。

5.3zrem

语法: zrem key member [member…]
作用: 删除有序集合 key 中的一个或多个成员,不存在的成员被忽略
返回值:被成功删除的成员数量,不包括被忽略的成员

5.4 zcard

语法: zcard key
作用: 获取有序集 key 的元素成员的个数
返回值: key 存在返回集合元素的个数, key 不存在,返回 0

5.5zrangebyscore与zrevrangebyscore

zrangebyscore语法: zrangebyscore key min max [WITHSCORES ] [LIMIT offset count]
zrangebyscore作用: 获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括 min 和 max) 的成员,有序成员是按递增(从小到大)排序。min ,max 是包括在内,使用符号( 表示不包括。 min, max 可以使用 -inf , +inf 表示最小
和最大limit 用来限制返回结果的数量和区间。withscores 显示 score 和 value
zrangebyscore返回值: 指定区间的集合数据
zrevrangebyscore与zrangebyscore返回值顺序相反

5.6zcount

语法: zcount key min max
作用: 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量

你可能感兴趣的:(Redis,redis)