redis的五种数据类型
一、基本解释
结构类型结构存储的值可操作的行为
sting可以是 字符串,也可以是整数、浮点数如果值为字符串,可以对整个字符串或者字符串的一部分进行操作,如果值为整数或 者浮点数,可以执行自增或自减list一种链表,链表上的每一个节点都包含了一个字符串从链表的两端推入或者弹出元素; 根据偏移量对链表进行修剪;读取单个或者多个元素;根据值查找或者移除元素set包含字符串的有无序集合,但每一个元素都是独一无二的添加、获取、移除单个元素;检查元素是否存在于集合当中;计算并集、交集、差集;从集合中随机获取元素Hash包含键值对的无序散列表添加、获取、移除键值对;获取所有键值对zset字符串成员与浮点数分值的有序映射,元素的排列顺序由分值的大小决定添加、获取、删单个元素、根据分值范围或者成员获取元素
二、常用命令
string
SET 设置一个字符串 例:
set hello world 结果:OK
GET 获取给定键对应的值 get hello “world”
DEL 删除一个给定的字符串
del hello (integer)
1 或者nil
INCR incr key
-name
--->将键对应的值加
1
DECR decr key—name
---> 将键对应的值减
1
incrby incrby key_name amount
---> 将键对应的值加amount
decrby decrby key_name amount
---> 将键对应的值减amount
incrbyfloat incrbyfloat key
-name amount
---> 将键对应的值加上浮点数amount
append append key
-name value1
--->将value追加到给定key对应值的末尾
getrange getrange key
-name start end 获取给定key对应值的字串,
包含start和end在内
setbit setbit key
-name offset value 将字符串看作是二进制的字符串,
并将位移当中位移量为offset的二进制位的值设置为value
List
RPUSH 将给定的值推入到列表的右侧
lpush lpush key
-name value
[value ...] ---> 从列表的左端推入一个元素
rpop rpop key
-name
---> 从列表的右侧移除一个元素
LRANGE 给定给定范围的所有值
LINDEX 获取给定列表上的给定位置上的单个元素
LPOP 从列表的左侧弹出一个值,并将值返回
ltrim ltrim key
-name
start end ---> 对列表进行修剪,只保留从
start到
end
范围内的元素,
start和
end的元素也会保留
blpop blpop key
-name
[key-name] timeout
---> 从第一个非空列表中弹出最左侧
的元素或者在timeout秒之内阻塞并等待可弹出的元素出现(B即block(阻塞)的缩写)
brpop brpop key
-name
[key-name] timeout
---> 从第一个非空列表中弹出最右侧
的元素或者在timeout秒之内阻塞并等待可弹出的元素出现
rpoplpush rpoplpush source
-key dest
-key
---> 从source
-key列表的右侧弹出一个
元素,压入到dest
-key列表的左侧,并向用户返回这个元素
brpoplpush brpoplpush source
-key dest
-key timeout
---> 从source
-key列表的
右侧弹出一个元素,压入到dest
-key列表的左侧,并向用户返回这个元素
,
如果source
-key为空,那么在timeout秒之内阻塞并等待可弹出的元素出现,
时限到达后返回none
set
SADD sadd key
-name item
[item] 将给定的值添加到无序集合当中
SMEMBERS smembers key
-name 返回该集合包含的所有元素
SISMEMBER sismember key
-name item-
--> 检测元素item是否存在于key
-name集合当中
SREM srem key
-name item
[item ...]如果给定元素存在于集合当中,则将其移除
scard scard key
-name
--> 返回集合包含的元素的数量
srandmember srandmember
[count] ---> 从集合当中随机的返回一个或者多个元素
spop spop key
-name
---> 随机的从集合中移除一个元素,并返回被移除的元素
smove smove source
-key dest
-key item
---> 如果source
-key集合中包含
元素item,那么就从source
-key集合当中将其移除,并且添加到dest
-key集合
当中,成功返回1,失败返回0
sdiff sdiff key
-name
[key-name] ---> 返回差集
sdiffstore sdiff dest
-key key
-name
[key-name] --->将差集存储到dest
-key集合
当中
sinter sinter key
-name
[key-name] --->返回交集
sinterstore sinterstore dist
-key key
-name
[key-name] ---> 将交集存储到
dist
-key集合当中
sunion sunion key
-name
[key-name] --->返回并集
sunionstore sunionstore dist
-key key
-name
[key-name] ---> 将并集存储到
dist
-key集合当中
hash
HSET 在散列中添加给定的键值对
HGET 获取给定散列键的值
HGETALL 获取给定散列的所有键值对
HDEL 如果给定的键存在于散列当中,则将其移除
HMGET HMGET key
-name key
[key ...]-
-->从散列表当中获取一个或多个键的值
HMSET HMSET key
-name key value
[key value ...] ---> 为散列里的一个或
多个键设置值
HLEN HLEN key
-name
---> 返回散列包含的键值对数量
HEXISTS hexists key
-name key
---> 判断给定的键是否存在于散列中
HKEYS hkeys key
-name
---> 获取散列包含的所有键
HVALS hvals key
-name
---> 获取散列包含的所有值
HGETALL hgetall key
-name
---> 获取散列包含的所有键值对
HINCRBY hincrby key
-name key increment-
->将键key存储的值加上整数increment
HINCRBYFLOAT hincrbyfloat key
-name key increment
---> 将键key存储的值加上浮点数increment
zset
ZADD zadd key
-name score member
[score member] ---> 添加
ZRANGE zrange key
-name
start end [withscores] --->返回有序集合当中排名
介于
start 和
end之间的成员,如果给定了可选的withscores选项,那么命令
会将成员的分值也一并返回
ZRANGEBYSCORE 获取有序集合当中在给定分值范围内的所有成员
ZREM zrem key
-name member
[member...]
--->如果给定成员存在于有序集合当中,
则将其移除
,并返回被移除的成员的数量
ZCARD zcard key
-name
--->返回有序集合包含的成熟数量
ZINCRBY zincrby key
-name increment member
--->将成员member的分值加上increment
ZCOUNT zcount key
-name min max
---> 返回分值介于min和max之间的成员数量
ZRANK zrank key
-name member
---> 返回成员在有序集合当中的排名
ZSCORE zscore key
-name member
---> 返回成员在有序集合当中的分值
ZREVRANK zrevrank key
-name member
---> 返回有序集合里成员member的排名,
成员按照分值从大到小排列
ZREVRANGE zrevrange key
-name
start end member
[withscores]
---> 返回有序集合给定排名范围内的成员,成员按照分值从大到小排列
ZRANGEBYSCORE zrangebyscore key max min
[withscores] [limit offset count]
---> 返回集合当中,分值介于min和max之间的所有成员
ZREVRANGEBYSCORE zrevrangebyscore key max min
[withscores] [limit offset count]
---> 同上,只是返回值是按分值从大到小的顺序返回的
ZREMRANGEBYRANK zremrangebyrank key
start end
--->移除集合当中排名介于
start和
end之间的所有成员
ZREMRANGEBYSCORE zremrangebyscore key
-name min max
---> 移除集合当中分值在min和max之间的所有成员
ZINTERSTORE zinterstore dest key
-count key
[key ...]
[WEIGHTS weight [weight]] [AGGREGATE sum|min|max]
---> 对给定的有序集合执行类似于集合的交集运算
ZUNIONSTORE 同上,只是求并集