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 )的成员的数量