1:List
常用命令
-
lpush
lpush 将value的值从左到右依次插入表头位置 类似于Java栈的内存结构 先放的再栈底
-
lrange
返回列表指定区间内的元素
-
rpush
rpush 将value的值从右到左依次插入表头位置
-
rpop
从尾元素开始移除并返回列表的尾元素
-
lplop
从头元素开始移除并返回列表的头元素
-
lindex
返回列表中 下标为index的元素
-
ltrim
ltrim对于一个列表的修剪,类似于subList 截取
-
blpop
阻塞式的弹出,相当于lpop的阻塞版
2:Sist
set不可重复
-
sadd
添加一个元素到一个 key中
-
smembers
获取一个key下的所有元素
-
srem
移除指定的元素
-
sismemeber
返回某一个成员在集合中
1: 存在
0 : 不存在
-
scard
返回集合中的数量
-
srandmember
随机的返回key中的某一个元素
-
spop
随机返回并且出栈一个元素
-
smove
把一个元素从一个集合移到另一个集合中去
-
sdiff
返回两个集合的差集(注意先后顺序)
-
sinter
返回两个集合的交集
-
sdiffstore
这个命令类似于 sdiff 不同的是计算出来的结果 会保存在另一个新的集合之中
-
sinterstore
这个命令类似于 sinter 不同的是计算出来的结果会保存在另一个新的集合之中
-
sunion
求并集 和上面相似
-
sunionstore
求并集并且把新的结果保存在新的结果之中
3:Hash
类似于回缩版本的redis 其内存结构 主要是 key-value形式进行存储
value - (key -value) 在hash结构中 key是一个字符串,则Value是一个 key/value
-
hset
添加值
-
get
获取值
-
hmset
批量添加
-
hmget
批量获取
-
hdel
删除一个指定的field(元素里面的key属性)
-
hsetnx
默认情况下,如果key和field相同,会覆盖已有的value,则hestnx 不会覆盖 存在则不修改 不存在则重新设置
-
hvals
获取所有的value
-
hkeys
-
hgetall
同时获取所有的 key和value
-
hexists
返回field(属性) 是否存在
-
hincrby
给指定的value自增1
-
hincrbyfloat
给指定的value 自增一个浮点数
-
hlen
返回某一个key中value的数量
-
hstrlen
返回某一个key中的某一个fileld的字符串长度
4:Zset
有序的集合 类似于 Set
-
zadd
将指定的元素添加到有序集合中。
-
zscore
返回member中的score值。
-
zrevrange
返回一组元素,但是是倒序
-
zcard
返回元素的个数
-
zcount
返回score 在某一个区间内的元素
-
zrangebyscore
按照score 的范围返回元素
-
zrank
返回元素的排名 从小到大
-
zrevrank
返回元素的排名 从大到小
-
zincrby
score自增
-
zinterstore
给两个集合求交集 并求和 保存在新的集合之中
-
zrem
弹出一个元素 并移除该元素
-
zlexcount
计算有序集合中成员的数量
- :最小值
- : 最大值
-
zrangebylex
返回指定区间内的成员
Key的常用操作
-
del
删除一个 key-value
-
dump
序列化给定的key
-
exists
判断一个key是否存在
1:存在
0:不存在
-
ttl
查看一个key的有效期
-1:永不过期
-2: 已经过期
-
expire
给一个key设置有效期,如果key在过期之前被重新set了 则过期时间会失效
-
persist
移除一个key的过期时间
-
keys *
查看所有的key
-
pttl
和ttl一样 只不过这里返回的是毫秒
5:补充
- 四种数据类型(list-set-hash-zset) 在第一次使用时,如果容器不存在 就自动创建一个
- 四种数据类型 (list-set-hash-zset)如果里面没有元素了(清空元素),那么立即删除容器,释放内存