您的位置:首页 > 数据库 > Redis

Redis中String、List、Hash、Set、zSet 的常用命令以及通用命令

2018-08-29 12:09 197 查看

数据类型
字符串 String
哈希 hash
字符串列表 list
字符串集合 set
有序字符串集合 sorted set


Key定义的注意点:
1.不要过长、过短
2.统一命名规范

字符串:---------------------------------

赋值:set [key] [value]
取值:get [key]
删除:del [key]


值递增1,如果key不存在,创建默认值0,再+1
incr [key]

值递减1,如果key不存在,创建默认值0,再-1
decr [key]

值加几,如果key不存在,创建默认值0,再+几
incrby [key] 几

值减几,如果key不存在,创建默认值0,再-几
decrby [key] 几

追加字符串,如果key不存在,创建key,值为新字符串
append [key] 新字符串


Hash:一个对象名称中有多个键值对,相当于对象------------------------------------

赋值:hset [Hash名称] [key] [value]
取值:hget [Hash名称] [key]
同时赋多个值:hmset [Hash名称] [key1] [value1] [key2] [value2]
同时取多个值:hmget [Hash名称] [key1] [key2]
获取所有key和value:hgetall [Hash名称] 
删除多个值:hdel [Hash名称] [key1] [key2]
删除所有值:del [Hash名称]

指定key的值加几
hincrby [Hash名称] [key] 几

判断指定key中的值是否存在  返回:1->存在    0->不存在
hexists [Hash名称] [key]

获取hash中的个数
hlen [Hash名称]

获得所有的key
hkeys [Hash名称]

获得所有的值
hvals [Hash名称]

list:----------------------------------------

从左侧(头部)插入元素:lpush [集合名称] [值1] [值2] ...

从右侧(尾部)插入元素:rpush [集合名称] [值1] [值2] ...

当集合存在时,往左侧(头部)插入元素:lpushx [集合名称] [值]

当集合存在时,往右侧(尾部)插入元素:rpushx [集合名称] [值]

查看从起始位置到结束位置的元素:lrange [集合名称] [起始位置] [结束位置(负数表示倒数第几个元素)]   查看全部:lrang [集合名称] 0 -1

弹出头部(第一个)元素并显示,弹出后这个元素就不在集合中了:lpop [集合名称]

弹出尾部(最后一个)元素并显示,弹出后这个元素就不在集合中了:rpop [集合名称]

获取列表中元素的个数:llen [集合名称]

删除集合中指定个数的元素:lrem [集合名称] [大于0(从头部删除几个后面定义的值)|0(删除所有个后面定义的值)|小于0(从尾部删除几个后面定义的值)] [要删除的值]

删除集合:del [集合名称]

在指定位置处插入元素:lset [集合名称] [索引(负数表示倒数第几个位置)] [值]

在指定元素之前插入元素:linsert [集合名称] before [被插入的元素] [要插入的元素]

在指定元素之后插入元素:linsert [集合名称] after [被插入的元素] [要插入的元素]

将A数组尾部(最后一个)元素弹出并添加到B数组的头部(第一个):rpoplpush [A数组] [B数组]   (相当于备份到另一个数组中)


Set无序集合,不允许出现重复的元素----------------------------------

添加元素:sadd [集合名称] [值1] [值2] ...

删除元素:srem [集合名称] [值1] [值2] ...

删除集合:del [集合名称]

查询所有元素:smembers [集合名称]

判断指定元素是否存在:sismember [集合名称] [值] 返回:1->存在    0->不存在

返回两个Set中不同的元素(差集):sdiff [集合1] [集合2]

返回两个Set中相同的元素(交集):sinter [集合1] [集合2]

返回两个Set合并后的元素(并集,set去重复):sunion [集合1] [集合2]

获取Set中元素的个数:scard [集合名称]

随机返回一个Set集合中的元素:srandmember [集合名称]

将两个Set中不同的元素(差集)存到另一个新Set中:sdiffstore [新集合] [集合1] [集合2]

将两个Set中相同的元素(交集)存到另一个新Set中:sinterstore [新集合] [集合1] [集合2]

将两个Set合并后的元素(并集)存到另一个新Set中:sunionstore [新集合] [集合1] [集合2]


Sorted-Set:zset 不允许出现重复的元素,用分数来排序---------------------------------------------------------

添加元素(如果集合中已有元素,不会新增,会把原来元素的分数覆盖):zadd [集合名称] [分数1] [元素1] [分数2] [元素2] ...

删除元素:zrem [集合名称] [元素1] [元素2] ...

获得某个元素的分数:zscore [集合名称] [元素]

获得集合中元素的个数:zcard [集合名称]

按分数由小到大排序:zrange [集合名称] [起始位置] [结束位置(负数表示倒数第几个元素)] [withscores(带不带分数显示)]    由小到大查看全部:zrange [集合名称] 0 -1

按分数由大到小排序:zrevrange [集合名称] [起始位置] [结束位置(负数表示倒数第几个元素)] [withscores(带不带分数显示)]    由大到小查看全部:zrevrange [集合名称] 0 -1

按元素删除:zremrangebyrank [集合名称]  [起始位置] [结束位置(负数表示倒数第几个元素)]        删除全部:zremrangebyrank [集合名称] 0 -1

按分数范围删除:zremrangebyrank [集合名称] [起始分数] [结束分数]

按分数范围显示:zrangebyscore [集合名称] [起始分数] [结束分数]  [withscores(带不带分数显示)] [limit [x] [y] (显示几个)]

按分数范围查询个数:zcount [集合名称] [起始分数] [结束分数]

给某个元素加分数:zincry [集合名称] [加几分] [元素]

获取某个元素在集合中的排名(0:第一):zrank [集合名称] [元素]


通用命令:-----------------------------------------------------------

查看所有的key:keys *

查看某些key,以xx开头:keys xx?

删除某些key:del [key1] [key2] ...

某个key是否存在:exists [key]   返回:1->存在    0->不存在

给key改名:rename [key] [新key名]

设置key的过期时间:expire [key] [秒]

查看key所剩的时间:ttl [key]    没设置返回 -1

获取key的类型:type [key]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: