Redis常用命令汇总

Redis的数据结构

  • 字符串(String)
  • 哈希(hash)
  • 字符串列表(list)
  • 字符串集合(set)
  • 有序字符串集合(sorted set)

Key定义的注意点

  • 不易过长\过短
  • 统一命名规范

存储String

  • 二进制安全,存入和获取的数据相同
  • Value最多可以容纳的数据长度时512M
常用命令
  • 赋值 set key value
  • 取值 get key
  • 删除 del key
  • 数值增减

1:incr key
默认自增长1,若key不存在,则创建key,默认为0,自增长1,结果为1,若key不能进行数值运算则会抛出错误信息
2:decr key
默认自减1,若key不存在,则创建key,默认为0,自减1,结果为-1,若key不能进行数值运算则会抛出错误信息

  • 扩展

1:incrby key num
每次key按照num增长,key不存在,则创建key,默认为0,增加num


image.png

2:decrby key num
每次key按照num减少,key不存在,则创建key,默认为0,减少num


image.png

3:append key str
拼接:key不存在,则创建key,默认为str


image.png

4: mget key1 key2 ...
批量获取多个key的值,如果可以不存在则返回nil


image.png

5: setnx key value
设置key对应的值为String类型的value,如果key已经存在则返回0


image.png

6: setex key seconds value
设置key对应的值为String类型的value,并设定有效期(单位秒)


image.png

存储Hash

  • String Key和String Value的map容器
  • 每一个Hash可以存储4294967295个键值对
常用命令
  • 赋值

1:hset key k1 v1
2:hmset key k1 v1 k2 v2

  • 取值

1:hget key k1
2:hmget key k1 k2


image.png

3:hgetall key 获取所有k和v


image.png

4:hkeys key 获取所有k


image.png

5:hvals key 获取所有v


image.png

6:hlen key 获取map中键值对的个数


image.png
  • 删除

1:del key 删除整个map


image.png

2:hdel key k 删除map中的k


image.png
  • 增加

1:hincrby key k num


image.png
  • 扩展

1:hexists key k 判断k是否存在
存在:1 不存在:0


image.png

存储list

  • ArrayList使用数组方式
  • LinkedList使用双向链接方式
  • 双向链表中增加数据
  • 双向链表中删除数据
常用命令
  • 两端添加

1:lpush
2:rpush
3:lpushx
4:rpushx


image.png

image.png

image.png
  • 查看列表

1: lrange

  • 删除

1:del


image.png
  • 两端弹出

1:lpop
2:rpop


image.png
  • 获取列表元素个数

1:llen


image.png
  • 扩展

1:lrem key c v
c 为正:从左删除c个值为v
c 为负:从右删除c个值为v
c 为0:删除全部的v


image.png

image.png

image.png

image.png

2:lset 指定位置插入值


image.png

3:linsert before
4:linsert after


image.png

5:rpoplpush 右弹出,左添加


image.png

存储Set(跟踪一些唯一性的数据)

  • 和List类型不同,Set集合中不允许出现重复的元素
  • Set可包含的最大元素个数是4294967295
常用命令
  • 添加元素

1:sadd 返回值为0,说明集合中已经存在该元素


image.png
  • 删除元素

1:sdel


image.png
  • 获得集合中的元素

1:smembers


image.png
  • 集合中的差集运算

1:sdiff 结果来自第一个集合


image.png

2:sdiffstore 差集存储到另外一个集合中


image.png
  • 集合中的交集运算

1:sinter


image.png

2:sinterstore 交集存储到另外一个集合


image.png
  • 集合中的并集运算

1:sunion


image.png

2:sunionstore 并集存储到另外一个集合


image.png
  • 扩展

1:scard 集合中元素的个数

image.png

2:srandmember 随机选中一个元素


image.png

存储Sorted-Set

  • Sorted-Set中的成员在集合中的位置是有序的
  • 每个key都有一个分数
常用命令
  • 添加元素

1:zadd key s1 k2 s2 k2 ...

  • 获得元素

1:zrange key 查看所有k


image.png

2:zrange key n1 n2 withscores 查看集合中所有的key和对应的分数(从小到大)


image.png

3:zrevrange key n1 n2 withscores 查看集合中所有的key和对应的分数(从大到小)
image.png

4:zscore key k 查看k的分数


image.png
  • 删除元素

1:zrem


image.png
  • 范围查询
  • 扩展

1:zcard 获取集合元素个数


image.png

2:zremrangebyrank key n1 n2 删除n1~n2范围内元素


image.png

3:zremrangebyscore key n1 n2 删除分数在n1~n2范围元素
image.png

4:zrangebyscore key n1 n2 [withscores] [limit n3 n4]查看分数在n1~n2范围内元素
withscores:是否查看分数
limit n3 n4:限制条件,n表示位数,取出n3到n4内的元素,包右不包左


image.png

5:zincrby key n k k的分数加上n
image.png

6:zcount key n1 n2 分数在n1~n2内元素的个数,包括n1和n2
image.png

Key的相关操作

常用命令

1:keys * 查看所有key


image.png

2:keys n? 模糊匹配key


image.png

3:exists key 判断key是否存在


image.png

4:rename oldkey newkey 修改key的名称


image.png

5:expire key m 设置key的有效 (m以秒为单位)
6:ttl key 当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以毫秒为单位,返回 key 的剩余生存时间


image.png

7:type key 查看key的数据结构类型


image.png

8:del key 删除key


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342