本文档由杨海波整理于 2016-04-06

注意事项

  • Redis键名区分大小写
  • Redis值是二进制安全的

Connection 连接 & 常用服务命令

AUTH 验证服务器命令

AUTH password

SELECT index 选择一个数据库

SELECT 15

ECHO 回显输入的字符串

ECHO "ABC"

PING Ping 服务器

PING
PING "Welcome"

QUIT 请求服务器关闭连接

QUIT

DBSIZE 返回当前数据库里面的keys数量

DBSIZE

INFO 获得服务器的详细信息

INFO

FLUSHDB 清空当前的数据库命令

FLUSHDB

FLUSHALL 删除所有数据库里面的所有数据,注意不是当前数据库,而是所有数据库

FLUSHALL

TIME 返回当前服务器时间

TIME

CONFIG GET params 根据配置名返回值

CONFIG GET params



String 字符串类型

SET 设置一个key的value值

SET key value [EX seconds] [PX milliseconds] [NX|XX] EX seconds – 设置键key的过期时间,单位时秒
PX milliseconds – 设置键key的过期时间,单位时毫秒
NX – 只有键key不存在的时候才会设置key的值
XX – 只有键key存在的时候才会设置key的值

SETNX key value [原子][用SET代替,未来会废弃]设置的一个键值,只有当键不存在才可以设置

SETNX key value

SETEX [原子][用SET代替,未来会废弃]设置key对应字符串value,并且设置key在给定的seconds时间之后超时过期(秒)

SETEX key seconds value
等价于
SET mykey value
EXPIRE mykey seconds

PSETEX [原子][用SET代替,未来会废弃]设置key对应字符串value,并且设置key在给定的seconds时间之后超时过期(毫秒)

PSETEX key milliseconds value

SETRANGE 这个命令的作用是覆盖key对应的string的一部分,从指定的offset处开始,覆盖value的长度。

SETRANGE key offset value

MSET 设置多个key value

MSET key1 value1 [key2 value2 ...]

MSETNX [原子]对应给定的keys到他们相应的values上。只要有一个key已经存在,MSETNX一个操作都不会执行

MSETNX key value [key value ...]

GET 返回key的value

GET key

GETRANGE 截取字符串

GETRANGE key start end

GETSET 设置一个key的value,并获取设置前的值

GETSET key value

MGET 批量获得指定key的值

MGET key1 [key2 key3 ...]

APPEND 追加一个值到key上

APPEND key value

INCR 执行原子加1操作

INCR key

INCRBY 执行原子增加一个整数

INCRBY key increment

INCRBYFLOAT 执行原子增加一个浮点数

INCRBYFLOAT key increment

DECR 整数原子减1

DECR key

DECRBY 原子减指定的整数

DECRBY key decrement

STRLEN 获取指定key值的长度(注意中文问题)

STRLEN key



Hash

HSET 设置 key 指定的哈希集中指定字段的值。

设置 key 指定的哈希集中指定字段的值。
如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。
如果字段在哈希集中存在,它将被重写。HSET key field value

HSETNX 只在 key 指定的哈希集中不存在指定的字段时,设置字段的值

HSETNX key field value

HMSET 批量设置 key 指定的哈希集中指定字段的值

HMSET key field value [field value ...]

HGET 返回 key 指定的哈希集中该字段所关联的值

HGET key field

HMGET 批量返回 key 指定的哈希集中指定字段的值。

HMGET key field [field ...]

HKEYS 返回 key 指定的哈希集中所有字段的名字

HKEYS key

HVALS 获得hash的所有值

HVALS key

HGETALL 返回 key 指定的哈希集中所有的字段和值。

HGETALL key

HEXISTS 判断field是否存在于hash中

HEXISTS key field

HDEL 从 key 指定的哈希集中移除指定的域。在哈希集中不存在的域将被忽略。

HDEL key field [field ...]

HINCRBY 将hash中指定域的值增加给定的数字

HINCRBY key field increment

HINCRBYFLOAT 将hash中指定域的值增加给定的浮点数

HINCRBYFLOAT key field increment

HLEN 获取hash里所有字段的数量

HLEN key

HSTRLEN (3.2.0起)获取hash里面指定field的长度

HSTRLEN key field

HSCAN 迭代hash里面的元素

HSCAN key cursor [MATCH pattern] [COUNT count]



List

LPUSH 从队列的左边入队一个或多个元素

LPUSH key value [value ...]

RPUSH 从队列的右边入队一个元素

RPUSH key value [value ...]

LPUSHX 当队列存在时,从队到左边入队一个元素

LPUSHX key value

RPUSHX 从队列的右边入队一个元素,仅队列存在时有效

RPUSHX key value

LRANGE 从列表中获取指定返回的元素

LRANGE key start stop

LPOP 从队列的左边出队一个元素

LPOP key

RPOP 从队列的右边出队一个元素

RPOP key

LINDEX 通过列表的索引,获取对应的值

LINDEX key index

LSET 设置指定索引的值

LSET key index value

LINSERT 在列表的某个值之前或者之后插入值(以找到的第一个为准)

LINSERT key BEFORE|AFTER pivot value

LLEN 获得队列(List)的长度

LLEN key

LTRIM 把指定范围的保存到key里

LTRIM key start stop

LREM 从列表中删除元素

count > 0: 从头往尾移除值为 value 的元素。
count < 0: 从尾往头移除值为 value 的元素。
count = 0: 移除所有值为 value 的元素。LREM key count value

RPOPLPUSH 删除列表中的最后一个元素,将其追加到另一个列表

RPOPLPUSH source destination

BLPOP 阻塞式LPOP 如果有直接弹出,没有则等待,直到有值。当 timeout 为 0 是表示阻塞时间无限制。

BLPOP key [key ...] timeout

BRPOP 阻塞式RPOP 类同BLPOP

BRPOP key [key ...] timeout

BRPOPLPUSH 阻塞式RPOPLPUSH

BRPOPLPUSH source destination timeout



Set

SADD 添加一个或者多个元素到集合(set)里

SADD key member [member ...]

SCARD 获取集合里面的元素数量

SCARD key

SINTER 返回指定所有的集合的成员的交集

SINTER key [key ...]

SINTERSTORE 这个命令与SINTER命令类似, 但是它并不是直接返回结果集,而是将结果保存在 destination集合中

SINTERSTORE destination key [key ...]

SDIFF 返回一个集合与给定集合的差集的元素

SDIFF key [key ...]

SDIFFSTORE 该命令类似于 SDIFF, 不同之处在于该命令不返回结果集,而是将结果存放在destination集合中

SDIFFSTORE destination key [key ...]

SISMEMBER 确定一个给定的值是一个集合的成员

SISMEMBER key member

SMEMBERS 返回key集合所有的元素

SMEMBERS key

SMOVE 将member从source集合移动到destination集合中

SMOVE source destination member

SPOP 随机删除并获取一个集合里面的元素

SPOP key [count]  (count 在 2.6 2.8 3.0不可用)

SRANDMEMBER 从集合里面随机获取一个key

SRANDMEMBER key [count]

SREM 从集合里删除一个或多个key

SREM key member [member ...]

SUNION 返回给定的多个集合的并集中的所有成员

SUNION key [key ...]

SUNIONSTORE 该命令作用类似于SUNION命令,不同的是它并不返回结果集,而是将结果存储在destination集合中

SUNIONSTORE destination key [key ...]

SSCAN 迭代set里面的元素

SSCAN key cursor [MATCH pattern] [COUNT count]



Sorted Set

ZADD 添加到有序set的一个或多个成员,或更新的分数,如果它已经存在

ZADD key [NX|XX] [CH] [INCR] score member [score member ...]

ZCARD 获取一个排序的集合中的成员数量

ZCARD key

ZCOUNT 返回有序集key中,score值在min和max之间(默认包括score值等于min或max)的成员个数

ZCOUNT key min max
ZCOUNT myzset -inf +inf -无穷<=x<=+无穷
ZCOUNT myzset (1 3     1<x<=3
ZCOUNT myzset (1 (3    1<x<3

ZINCRBY 为有序集key的成员member的score值加上增量increment

ZINCRBY key increment member

ZSCORE 返回有序集key中,成员member的score值。

ZSCORE key member

ZRANK 返回有序集key中成员member的排名(按score由小到大,score相同按字典顺序)

ZRANK key member

ZREVRANK 返回有序集key中成员member的排名(反序)

ZREVRANK key member

ZREM 移除一个或者多个成员

ZREM key member [member ...]

ZREMRANGEBYRANK 按分数排名来删除范围内的成员

ZREMRANGEBYRANK key start stop

ZREMRANGEBYSCORE 按分数来删除范围内的成员

ZREMRANGEBYSCORE key min max

ZREMRANGEBYLEX 按字典顺序范围删除集合成员

ZREMRANGEBYLEX key min max

ZRANG 返回指定范围的成员

ZRANGE key start stop [WITHSCORES]

ZREVRANGE 返回指定范围的成员(反序)

ZREVRANGE key start stop [WITHSCORES]

ZRANGEBYSCORE 按SCORE范围返回成员

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
ZRANGEBYSCORE myzset -inf +inf
ZRANGEBYSCORE myzset (0 (9

ZREVRANGEBYSCORE 按SCORE范围返回成员(反序)

ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]

ZRANGEBYLEX 同ZRANGE 按字典顺序返回

ZRANGEBYLEX key min max [LIMIT offset count]
ZRANGEBYLEX myset2 [a + LIMIT 0 3
ZRANGEBYLEX myset2 [a + LIMIT 2 1

ZREVRANGEBYLEX 按字典反序排列

ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g
ZREVRANGEBYLEX myzset [c -
ZREVRANGEBYLEX myzset (c -
ZREVRANGEBYLEX myzset (g [aaa

ZLEXCOUNT 按字典顺序去查找成员个数(尤其是在score相等的情况)

ZLEXCOUNT key min max
ZLEXCOUNT myset1 - +
ZLEXCOUNT myset1 [a [f
ZLEXCOUNT myset2 [aa +  >=aa
ZRANGEBYLEX myset1 (b + >b

ZINTERSTORE 计算给定的numkeys个有序集合的交集,并且把结果放到destination中。在给定要计算的key和其它参数之前,必须先给定key个数(numberkeys) WEIGHTS 在聚合之前先乘以weight

ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight] [SUM|MIN|MAX]

ZUNIONSTORE 计算给定的numkeys个有序集合的并集,并且把结果放到destination中。在给定要计算的key和其它参数之前,必须先给定key个数(numberkeys) WEIGHTS 在聚合之前先乘以weight

ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight] [SUM|MIN|MAX]

ZSCAN 扫描集合

ZSCAN key cursor [MATCH pattern] [COUNT count]



Key 操作

TYPE 获取 KEY 的类型

TYPE key

EXPIRE 让 key 在指定的时间过期(秒级)

EXPIRE key seconds

EXPIREAT 让 key 在指定的UNIX时间戳过期

EXPIREAT key timestamp

PEXPIRE 让 key 在指定的时间过期(毫秒级)

PEXPIRE key milliseconds

PEXPIREAT 让 key 在指定的UNIX时间戳过期(毫秒级)

PEXPIREAT key milliseconds-timestamp

TTL 返回 KEY 的剩余生存时间

TTL key

PTTL 返回 KEY 的剩余生存时间

PTTL key

DEL 删除一个或者多个KEY 如果删除的key不存在,则直接忽略

DEL key [key ...]

EXISTS KEY是否存在

EXISTS key [key ...]

MOVE 移动一个key到另一个数据库

MOVE key db

PERSIST 持久化一个 KEY

PERSIST key

RENAME 将key重命名为newkey,如果key与newkey相同,将返回一个错误。如果newkey已经存在,则值将被覆盖。

RENAME key newkey

RENAMENX 重命名一个key,新的key必须是不存在的key

RENAMENX key newkey

RANDOMKEY 从当前数据库返回一个随机的key

RANDOMKEY

SCAN 增量迭代key

SCAN cursor [MATCH pattern] [COUNT count]

KEYS 【数据量大有性能问题,用scan代替】

h?llo 匹配 hello, hallo 和 hxllo
h*llo 匹配 hllo 和 heeeello
h[ae]llo 匹配 hello 和 hallo, 但是不匹配 hillo
h[^e]llo 匹配 hallo, hbllo, … 但是不匹配 hello
h[a-b]llo 匹配 hallo 和 hbllo
如果你想取消字符的特殊匹配(正则表达式,可以在它的前面加\。KEYS pattern

DUMP 序列化给定 key ,并返回被序列化的值

DUMP key

RESTORE 反序列化给定的序列化值,并将它和给定的 key 关联。

参数 ttl 以毫秒为单位为 key 设置生存时间;如果 ttl 为 0 ,那么不设置生存时间。RESTORE key ttl serialized-value [REPLACE]

SORT【数据量大有性能问题,用scan代替】对队列、集合、有序集合排序

SORT key [BY pattern] [LIMIT offset count] [GET pattern] [ASC|DESC] [ALPHA] destination

MIGRATE 将 key 原子性地从当前实例传送到目标实例的指定数据库上,一旦传送成功, key 保证会出现在目标实例上,而当前实例上的 key 会被删除。

MIGRATE host port key destination-db timeout [COPY] [REPLACE]

OBJECT 检查内部的对象

OBJECT REFCOUNT 该命令主要用于调试(debugging),它能够返回指定key所对应value被引用的次数.
OBJECT ENCODING 该命令返回指定key对应value所使用的内部表示(representation)(译者注:也可以理解为数据的压缩方式).
OBJECT IDLETIME 该命令返回指定key对应的value自被存储之后空闲的时间,以秒为单位(没有读写操作的请求) ,这个值返回以10秒为单位的秒级别时间,这一点可能在以后的实现中改善OBJECT subcommand [arguments [arguments ...]] OBJECT REFCOUNT myset1
OBJECT ENCODING myset1
OBJECT IDLETIME myset1

Transaction 事务

MULTI 标记一个事务块的开始

MULTI

EXEC 执行一个事务

EXEC

DISCARD 丢弃一个待执行的事务

DISCARD

WATCH 标记所有指定的key 被监视起来,在事务中有条件的执行(乐观锁)

WATCH key [key ...]

UNWATCH 取消所有监视的KEY 如果执行EXEC 或者DISCARD, 则不需要手动执行UNWATCH 。

UNWATCH

事务的示例

127.0.0.1:6379> WATCH a b c
OK
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> MSET a 1 b 2 c 3
QUEUED
127.0.0.1:6379> EXEC
1) OK

转载于:https://www.cnblogs.com/dasn/articles/5362190.html

Redis基本命令速查表相关推荐

  1. 简述sed、grep和parted的速查表

    下载 sed.grep和parted的速查表来整合新的流程到你的工作中. Linux 因其命令闻名,部分原因是 Linux 执行的几乎所有操作都可以从终端调用:另一部分原因是 Linux 是一个高度模 ...

  2. Python开发资源速查表

    Python开发资源速查表 Python实现算法和设计模式 algorithms - Python的一个算法模块. PyPattyrn - 一个用于实现常见设计模式的简单而有效的库. python-p ...

  3. 21张让你代码能力突飞猛进的速查表(神经网络、机器学习、可视化等)

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:马卡斯·扬,来源:极市平台 作者丨马卡斯·扬@知乎 来源丨http ...

  4. 26 页高清大数据开发代码速查表,提升效率必备!【可下载】

    在各大互联网公司高价抢夺数据人才的环境下,为谋求长期发展.获得高薪,很多人转行到了大数据领域.这条路人才虽缺,但要成为优秀大数据工程师并不轻松:别的不说,光学习新技术,巩固旧知识,就需要耗费大量时间精 ...

  5. 21张让你代码能力突飞猛进的速查表(神经网络、线性代数、可视化等)

    随着深度学习的蓬勃发展,越来越多的小伙伴们开始使用python作为主打代码,python有着种类繁多的第三方库,这里为大家从网络上收集了一些代码速查表,包括深度神经网络.机器学习.数据可视化.pyth ...

  6. 一份火爆国外的PyCharm快捷键和Python代码速查表

    各位小伙伴们,还在为记不住API发愁吗,哈哈哈,最近发现了国外大师整理了一份Python代码速查表和Pycharm快捷键sheet,火爆国外,这里分享给大家. 这个是一份Python代码速查表 下面的 ...

  7. html 右边是iframe 左右结构_HTML速查表

    HTML速查表 网页标题内容...... Document基本标签(Basic Tags) 最大的标题 . . . . . . . . . . . . 最小的标题 这是一个段落. (换行) (水平线) ...

  8. 数据科学+python+R+数据库+机器学习+(速查表)cheat sheets大全

    数据科学+python+R+数据库+机器学习+(速查表)cheat sheets大全 Learn, compete, hack and get hired! 学习.竞争.精进.996. 东西永远学不完 ...

  9. pandas常用函数说明及速查表

    pandas常用函数说明及速查表 如果你用python做开发,那么几乎肯定会使用pandas库. Pandas 是 Python 语言的一个扩展程序库,用于数据分析. Pandas 是一个开放源码.B ...

最新文章

  1. Android API 中文 (51) —— ZoomButtonsController
  2. java和python工资-Python和Java,哪个就业薪资更高
  3. php什么框架性能高,主流PHP框架性能比较
  4. kaggle机器学习作业(房价预测)
  5. HDU 2063 过山车【二分图最大匹配】
  6. f12 卡 谷歌浏览器_抢券第二课:利用浏览器F12获取优惠券请求链接
  7. 聚焦 | 数据湖分析如何面向对象存储OSS进行优化?
  8. java jsp网页计算器_JSP实现计算器功能(网页版)
  9. php yaf框架 校验登录,yaf框架是get或post请求的判断
  10. 包无法安装_BiocManager无法安装R包
  11. MATLAB三阶导怎么输入,三阶样条插值(一阶导数边界条件) matlab程序
  12. 写DM9000网卡芯片驱动的预备知识
  13. 东芝打印机共享怎么设置_win7系统东芝STUDLO2303A打印机怎么共享网络
  14. js文本框设置必填项_显示隐藏js字段 设置必填非必填
  15. 李开复:我要找什么样的人一起创业?
  16. 软碟通(UltraISO)9.7.6.3812单文件高级版
  17. 用手机访问电脑的本地服务器
  18. 三端双向可控硅(triac)
  19. 2019年数学建模国赛A题
  20. 学了代码之后,对于程序员黑客的区别,我的认识是......

热门文章

  1. 【计算机网络】时延带宽积的理解(图解易懂)
  2. 功能测试必备:抓包工具的作用及常用抓包工具有哪些?
  3. Android移动应用开发之TextView实现阴影跑马灯文字效果
  4. CSDN日报190805:一线城市or二线城市,该如何抉择?
  5. 极智开发 | nginx 部署 antd pro
  6. ----颜色版----
  7. Tomcat介绍及安装JDK1.8
  8. 【SpringCloud】什么是微服务?什么是SpringCloud?
  9. SM-SQL建表语句
  10. 100314.间谍网络