一:Redis 字符串命令
Key定义的注意点:
- 不要过长
- 不要过短
- 统一的命名规范
存储String
二进制安全的,存入和获取的数据相同
Value最多可以容纳的数据长度是512M
存储String常用命令
赋值
SET key value 设置指定 key 的值
取值
GET key 获取指定 key 的值。
删除
DEL key 删除指定 key 的值
数值增减
INCR key 将 key 中储存的数字值增一。自增
INCRBY key increment 将 key 所储存的值加上给定的增量值(increment) 。
DECR key 将 key 中储存的数字值减一。自减
DECRBY key decrement 将key 所储存的值减去给定的减量值(decrement) 。
假如没有定义 则默认0
扩展命令
APPEND key value
如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。
二:Redis hash 命令
存储Hash常用命令:
赋值
HSET key field value
将哈希表 key 中的字段 field 的值设为 value 。
HMSET key field1 value1 [field2 value2 ]
同时将多个 field-value (域-值)对设置到哈希表 key 中。
一个:hset h1 username java
多个:hmset h2 username java password 123456
取值
HMGET key field1 [field2] 获取所有给定字段的值
例子:
hmget h2 username
hmget h2 username password
HGETALL key
获取在哈希表中指定 key 的所有字段和值
删除
HDEL key field1 [field2] 删除一个或多个哈希表字段
例子:hdel h2 username password
增加数字
HINCRBY key field increment
为哈希表 key 中的指定字段的整数值加上增量 increment 。
例子:hincrby h1 age 5
判断字段是否存在
HEXISTS key field
查看哈希表 key 中,指定的字段是否存在。
例子:hexists h1 age
hexists判断字段是否存在 1表示存在 0表示不存在
获取hash属性个数
HLEN key
获取哈希表中字段的数量
获取hash所有属性名称
HKEYS key
获取所有哈希表中的字段
获取hash所有属性值
HVALS KEY
获取所有哈希表中的字段值
三:Redis 列表命令 列表(List)
存储list:
- ArrayList使用数组方式
- LinkedList使用双向链接方式
双向链接表中增加数据
双向链接表中删除数据
存储list常用命令
两端添加
LPUSHX key value 将一个值插入到已存在的列表头部 从左边开始添加 RPUSH key value1 [value2] 在列表中添加一个或多个值 从右边开始添加
LRANGE key start stop 获取列表指定范围内的元素
两端弹出
LPOP key 移出并获取列表的第一个元素 lpop 左侧弹出集合元素 rpop 右侧弹出集合元素
扩展命令
LLEN key 获取列表长度 LPUSHX key value 将一个值插入到已存在的列表头部 LPUSH key value1 [value2] 将一个或多个值插入到列表头部 RPUSHX key value 将一个值插入到已存在的列表尾部 RPUSH key value1 [value2] 将一个或多个值插入到列表尾部 LREM key count value 移除列表元素,lrem 从指定方向删除指定个数的指定元素 例子: lrem l3 2 1 从左边开始删除2个1 lrem l3 -2 3 从右边开始删除2个3 lrem l3 0 2 删除所有2
LSET key index value 通过索引设置列表元素的值 LINSERT key BEFORE|AFTER pivot value 在列表的元素前或者后插入元素 例子: linsert l1 before xxxx aa 在xxxx元素之前插入aa linsert l1 after xxxx bb 在xxxx元素之后插入bb RPOPLPUSH source destination 移除列表的最后一个元素,并将该元素添加到另一个列表并返回 rpoplpush 把A集合尾部元素弹出并插入到B集合头部
四:Redis 集合命令 集合(Set)
存储set常用命令:
添加/删除元素
SADD key member1 [member2] 向集合添加一个或多个成员
SREM key member1 [member2] 移除集合中一个或多个成员
获取集合中的元素
SMEMBERS key 返回集合中的所有成员
集合中的差集运算
SDIFF key1 [key2] 返回给定所有集合的差集
SDIFFSTORE destination key1 [key2]
返回给定所有集合的差集并存储在 destination 中
例子:
sdiff set2 set3
sdiff set3 set2
集合的顺序不一样,结果不一样
sdiffstore r1 set2 set3
集合中的交集运算
SINTER key1 [key2] 返回给定所有集合的交集
SINTERSTORE destination key1 [key2]
返回给定所有集合的交集并存储在 destination 中
例子:
SINTER myset myset2
SINTERSTORE myset myset1 myset2
集合中的并集元算
SUNION key1 [key2] 返回所有给定集合的并集
SUNIONSTORE destination key1 [key2]
所有给定集合的并集存储在 destination 集合中
例子:
SUNION key1 key2
SUNIONSTORE myset myset1 myset2
扩展命令
SISMEMBER key member 判断 member 元素是否是集合 key 的成员
返回1 表示存在 返回0表示不存在
SCARD key 获取集合的成员数
SRANDMEMBER key [count] 返回集合中一个或多个随机数
例子:
SISMEMBER myset1 "world"
SCARD myset
SRANDMEMBER myset1 2
五:Redis 有序集合命令 有序集合(sorted set)
添加元素
ZADD key score1 member1 [score2 member2]
向有序集合添加一个或多个成员,或者更新已存在成员的分数
例子:
ZADD myzset 2 "two" 3 "three"
获得元素
ZRANGE key start stop [WITHSCORES]
通过索引区间返回有序集合成指定区间内的成员
例子:
ZRANGE salary 0 -1 WITHSCORES # 显示整个有序集成员
删除元素
ZREM key member [member ...]
移除有序集合中的一个或多个成员
例子:
ZREM page_rank google.com
范围查询
ZRANGEBYLEX key min max [LIMIT offset count]
通过字典区间返回有序集合的成员
ZREVRANGEBYSCORE key max min [WITHSCORES]
返回有序集中指定分数区间内的成员,分数从高到低排序
ZREMRANGEBYSCORE key min max
移除有序集合中给定的分数区间的所有成员
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]
通过分数返回有序集合指定区间内的成员
ZRANGEBYLEX key min max [LIMIT offset count]
通过字典区间返回有序集合的成员
zrangebyscore sort1 18 23 withscores limit 0 2