Redis学习_数据类型操作命令
2019-05-26 21:03
281 查看
Redis学习_数据类型操作命令
- 1.2.1 字符串长度 --- strlen
- 1.2.2 截取字符串 --- getrange
- 1.2.3 字符串替换 --- setrange
- 1.2.4 创建多个KV /获得多个 KV --- mset / mget
- 2.1 基本命令
- 2.1.1 设置 field value --- hset
- 2.1.2 获取key 对应hash 中field对应的value --- hget
- 2.1.3 设置多个 field value --- hmset
- 2.1.4 通过 field 或者多个 value --- hmget
- 2.1.5 获取hash 所有的 field value 对 --- hgetall
- 2.1.6 删除 hash 中多个 field value --- hdel
- 2.2.1 获取所有 field --- hkeys
- 2.2.2 获取所有的 4000 value --- hvals
- 2.2.3 判段单个 field 在hash 中是否存在 --- hexists
- 3.1 基本命令
- 3.1.1 插入值 --- lpush / rpush
- 3.1.2 截取 --- lrange
- 3.1.3 返回下标所对应的值 --- lindex
- 3.1.4 获取list 的长度 --- llen
- 4.1 基本命令
- 4.1.1 向集合中添加 --- sadd
- 4.1.2 查看集合中的所有元素 --- smembers
- 4.1.3 查看某个元素是否是其成员 --- sismember
- 4.1.4 获取集合中元素的个数 --- scard
- 4.1.5 删除集合中的元素 -- srem
- 5.1 基本命令
- 5.1.1 向有序集合中添加元素 --- zadd
- 5.1.2 返回排序后制定区间的元素(从大到小排序) --- zrange
- 5.1.3 返回排序后制定区间的元素(从大到小排序) --- zrevrange
- 5.1.4 删除指定元素 --- zrem
- 5.1.5 元素的个数 --- zcard
- 5.2.1 获取有序集合中所有score介于min 和 max 之间的(从小到大) --- zrangebyscore
- 5.2.2 获取有序集合中所有score介于min 和 max 之间的(从大到小) --- zrevrangebyscore
- 5.2.3 返回score在 min 和 max 之间成员的数量 --- zcount
1. 字符串类型 String
1.1 基本命令
1.1.1 设置值 — set
- 语法: set key value
- 作用: 将 value 的值 设置到 key 中
- 注意: 对于已经设置的,则覆盖之前的值
1.1.2 获得key所对应的值 — get
- 语法: get key
- 作用: 通过 key 获取 value
- 注意: 如果这个没有该 key 则返回 nil 相当于java中的null
### 1.1.3 整型数 自增/自减 — incr/decr - 语法: incr / decr key
- 作用: 对 key 对应的 value 进行自增一、自减一 ,并返回自增或自减后的值
- 注意: 如果 key 存在 ,则 value 自增一 或者 自减一
- 如果 key 不存在, 则创建一个键值对,初始为0 ,再进行自增或者自减
- 如果 key 对应的 value 不是整数型,则报错
- 自增自减操作为原子性操作,
1.1.4 字符串后追加 — append
- 语法: append key value
- 作用: 在字符串后面追加一个字符串,并返回追加内容之后的总长度
- 注意: 如果 key 存在,则追加
- 如果 key 不存在 , 将 key 对应的 value 值设置成 value ,相当于 set 命令
1.2 常用命令
1.2.1 字符串长度 — strlen
- 语法: strlen key
- 注意: 如果 key 存在 ,返回字符串的长度
- 如果 key 不存在,返回 0
1.2.2 截取字符串 — getrange
- 语法: getrange key start_index end_index
- 作用: 截取字符串,为闭区间,包括start_index 和 end_index (相当于Java中的substring)
- 注意: 下标从左往右依次为 0 1 2 3 4 …
- 下标从右往左依次为 -1 -2 -3 -4 …
- 下标越界不报错,会返回合理范围的字符串
1.2.3 字符串替换 — setrange
- 语法: setrange key offset value
- 说明: 用 value 从 offset 开始覆盖 key 的存储的值 , 不存在的key做空白字符串。
- 返回值,修改后的字符串的长度
1.2.4 创建多个KV /获得多个 KV — mset / mget
-
语法:
mset : mset key value [ key value … ] - mget : mget key [ key… ] 得到结果的顺序和输入命令中key的顺序相同
- 如果哪个key 不存在,则哪个key 返回的值为 (nil)
mset
mget
2. 哈希类型 hash
2.1 基本命令
2.1.1 设置 field value — hset
-
语法: hset key field value
-
作用: 将对应 key 的hash表中的 域 field 的值 设置为 value
-
注意:
如果 key 不存在,则创建一个 hash ,并添加 field 和 value,并返回1 - 如果 key 存在 如果 field 是 hash 表中新 field ,且设置成功,返回 1
- 如果 field 已经存在 , 覆盖旧值,返回0
key不存在创建新hash并设值,返回1
key存在设置新值,返回1
key存在覆盖旧值,返回0
key不是hash类型,报错
2.1.2 获取key 对应hash 中field对应的value — hget
- 语法: hget key field
- 注意: 如果 key 不存在 ,返回 (nil)
- 如果 key 存在 field 存在, 返回对应value值
- field 不存在, 返回 (nil)
2.1.3 设置多个 field value — hmset
-
语法: hmset key field value [ filed value … ]
-
注意
如果 key 不存在,创建并设值 - 如果 key 存在 如果 field 不存在,创建
- 如果 field 存在, 覆盖
2.1.4 通过 field 或者多个 value — hmget
- 语法: hmget key value [ value … ]
- 注意:存在返回值,不存在返回 nil ,类型不对应报错
2.1.5 获取hash 所有的 field value 对 — hgetall
- 语法: hgetall key
- 注意: 返回的是所有的键值对
2.1.6 删除 hash 中多个 field value — hdel
- 语法: hdel key field [ field … ]
- 注意:存在删除,不存在忽略,返回删除的个数
2.2 常用命令
2.2.1 获取所有 field — hkeys
- 语法: hkeys key
- 作用: 返回hash 中所有的 field,如果类型不对应,返回空集
2.2.2 获取所有的 value — hvals
- 语法:hvals key
- 作用: 返回 hash 中所有的value,如果类型不对应,返回空集
- 类型不对应
2.2.3 判段单个 field 在hash 中是否存在 — hexists
- 语法: hexists key field
- 返回值: 存在返回 1
- 不存在返回 0
- 类型错误返回 0
3. 列表类型 list
3.1 基本命令
3.1.1 插入值 — lpush / rpush
- 语法: 从左边插入: lpushkey value [ value … ]
- 从右边插入: rpushkey value [ value … ]
- 返回插入后元素的个数
3.1.2 截取 — lrange
- 语法: lrange key start_index end_index
- 注意: 从左往右下标以此为 0 1 2 3 4
- 从右往左下标依次为 -1 -2 -3 -4 -5
- 下标超界则取合理范围的值
- 类型不对应,报错
3.1.3 返回下标所对应的值 — lindex
- 语法: lindex key index
- 注意: 合法下标返回下标对应的 value
- 下标越界则返回 nil
- 类型不对应,报错
3.1.4 获取list 的长度 — llen
- 语法: llen key
- 注意: key 存在返回长度
- key不存在返回0
- 类型错误报错
3.2 常用命令
3.2.1 移除列表中某些元素 — lrem
-
语法: lrem 19f07 key count value
-
注意:根据参数 count 的值,移除列表中于参数 value 相等的元素
count > 0 从左边开始移除 count 个 - count < 0 从右边开始移除 count 个
- count = 0 移除所有与value 相等的元素
- 类型错误报错
- 要删除元素的个数多于list中元素的个数,只删除有的元素
- 返回移除元素的个数
count > 0 从左边开始移除 count 个
count < 0 从右边开始移除 count 个
count = 0 移除所有与value 相等的元素
3.2.2 对指定下标的值进行替换 — lset
- 语法: lset key index value
- 注意: 下标越界报错
- 支持从右往左的下标 -1 -2 -3 …
- 类型错误报错
3.2.3 在指定元素前或者后插入值 — linsert
- 语法: linsert key BEFORE | ALFTER pivot value
- 注意: BEFORE 和 AFTER
- key 不存在 ,不执行任何操作,返回0
- key 存在 pivot 存在,插入并返回新list的长度
- pivot不存在,找不到pivot,返回 -1
4. 集合类型 set
4.1 基本命令
4.1.1 向集合中添加 — sadd
- 语法: sadd key member [member…]
- 作用: 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略,不会再加入。
- 返回值:加入到集合的新元素的个数。不包括被忽略的元素。
4.1.2 查看集合中的所有元素 — smembers
- 语法: smembers key
- 作用: 获取集合 key 中的所有成员元素
- 注意: 不存在的 key 视为空集合
- 类型错误报错
- 没有元素的为空集
4.1.3 查看某个元素是否是其成员 — sismember
- 语法: sismember key member
- 作用: 判断 member 元素是否是集合 key 的成员
- 返回值: member 是集合成员返回 1,其他返回 0 。
4.1.4 获取集合中元素的个数 — scard
- 语法: scard key
- 作用: 获取集合里面的元素个数
- 返回值: key 的元素个数。 其他情况返回 0 ,类型错误报错。
4.1.5 删除集合中的元素 – srem
- 语法: srem key member [member…]
- 作用: 删除集合 key 中的一个或多个 member 元素,不存在的元素被忽略。
- 返回值: 成功删除的元素个数,不包括被忽略的元素。
4.2 常用命令
4.2.1 随机返回集合中count个元素 — srandmember
- 语法: srandmember key [count]
- 作用: 随机返回集合中一个元素,元素不删除,依然在集合中;
- 注意: 没有count时,返回一个
- 有count时 count 是正数, 返回包含 count 个数元素的集合, 集合元素各不相同。count超过set的大小,返回全部元素;
- count 是负数,返回一个 count 绝对值的长度的集合, 集合中元素可能会重复多次。count超过set的大小,因为可以重复,所以返回count的绝对值个元素
4.2.2 随机删除count个元素 — spop
- 语法: spop key [count]
- 作用: 从集合中随机删除count 个元素, 并返回删除的元素
- 注意: count 不可以为负数,为负数报错
- 没有count : 删除一个
- 有 count :删除 count 个,count超过集合的大小,删除全部
5. 有序集合类型 zset
- redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。
- 不同的是 zset 的每个元素都会关联一个分数(分数可以重复),redis 通过分数来为集合中的成员进行从小到大的排序。
5.1 基本命令
5.1.1 向有序集合中添加元素 — zadd
- 语法: zadd key score member [score member…]
- 作用: 将一个或多个 member 元素及其 score 值加入到有序集合 key 中,如果 member存在集合中,则更新值;score 可以是整数或浮点数;
- 返回值:数字,新添加的元素个数
5.1.2 返回排序后制定区间的元素(从大到小排序) — zrange
- 语法: zrange key start stop [WITHSCORES]
- 作用:查询有序集合,指定区间的内的元素。
- 注意: 集合成员按 score 值从小到大来排序。
- start,stop 都是从 0 开始。0 是第一个元素,1 是第二个元素,依次类推。以 -1 表示最后一个成员,-2 表示倒数第二个成员。
- withscores 选项让 score 和 value 一同返回。
5.1.3 返回排序后制定区间的元素(从大到小排序) — zrevrange
- 语法: zrevrange key start stop [WITHSCORES]
- 作用: 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减**(从大到小)**来排列。其它同 zrange 命令。
- 返回值:自定区间的成员集合
5.1.4 删除指定元素 — zrem
- 语法: zrem key member [member…]
- 作用: 删除有序集合 key 中的一个或多个成员,不存在的成员被忽略
- 返回值: 被成功删除的成员数量,不包括被忽略的成员。
5.1.5 元素的个数 — zcard
- 语法: zcard key
- 作用: 获取有序集 key 的元素成员的个数
- 返回值: key 存在返回集合元素的个数, key 不存在,返回 0
5.2 常用命令
5.2.1 获取有序集合中所有score介于min 和 max 之间的(从小到大) — zrangebyscore
- 语法: zrangebyscore key min max [WITHSCORES ] [LIMIT offset count]
- 作用:获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括 min 和 max)的成员,有序成员是按递增**(从小到大)**排序。
- 注意: min ,max 是包括在内 , 使用符号 ( 表示不包括。
- min , max 可以使用 -inf ,+inf 表示最小和最大
- limit 用来限制返回结果的数量和区间。
- withscores 显示 score 和 value
5.2.2 获取有序集合中所有score介于min 和 max 之间的(从大到小) — zrevrangebyscore
- 语法: zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count]
- 作用: 返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减**(从大到小)**的次序排列。
5.2.3 返回score在 min 和 max 之间成员的数量 — zcount
- 语法: zcount key min max
- 作用: 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量
相关文章推荐
- redis 学习手册之列表数据类型Lists操作命令
- redis 学习手册之无序集合数据类型sets操作命令
- redis 学习手册之哈希表数据类型hashes操作命令
- redis 学习手册之字符串类型strings操作命令
- redis中各种数据类型对应的jedis操作命令
- Redis常用数据类型介绍、使用场景及其操作命令
- Redis 的数据类型介绍与命令操作
- Redis中常见数据类型操作命令
- Redis数据类型及常用的操作命令——LIST操作
- redis中各种数据类型对应的jedis操作命令
- redis基本数据类型和常用命令操作
- Redis命令:数据类型操作
- Redis常用数据类型介绍、使用场景及其操作命令
- 系统学习redis之五——redis数据类型之list类型及操作
- 2.Redis数据类型操作命令
- Redis五种数据类型操作命令
- redis中各种数据类型对应的jedis操作命令
- Redis常用数据类型介绍、使用场景及其操作命令
- redis中各种数据类型对应的jedis操作命令
- Redis基础学习--安装、简介、基本数据类型及相应命令