Redis学习笔记(二):常用命令

前言

该文档是为了让自己熟悉和以后方便查看Redis的常用命令!

常用命令

Key

命令说明
keys pattern查询所有匹配的给定模式的键
del key[key…]删除指定的key(一个或者多个)
exists key[key…]查询一个key是否存在
expire key seconds设置一个key的有效时间以秒为单位
expireat key timestamp设置一个时间戳的过期时间以秒为单位
persist key移除key的过期时间
pexpire key milliseconds设置key的有效时间以毫秒为单位
pexpireat key milliseconds-timestamp设置一个时间戳的过期时间以毫秒为单位
ttl key获取key的有效秒数
pttl key获取key的有效毫秒数
type key获取key的存储类型
move key db移动key到另一个数据库中
dump key导出所有key
randomkey返回一个随机key
rename key newkey将一个key重命名,如果newkey存在,直接覆盖
renamenx key newkey重命名key,newkey不存在
MIGRATE host port key destination-db timeout [COPY] [REPLACE]原子性的将key从redis的一个实例移动到另一个实例
OBJECT subcommand [arguments [arguments …]]检查内部的再分配对象
RESTORE key ttl serialized-value [REPLACE]反序列化给定的序列化值,并将它和给定的 key 关联
SORT key [BY pattern] [LIMIT offset count] [GET pattern] [ASC|DESC] [ALPHA] destination返回或存储key的list、 set 或sorted set 中的元素。默认是按照数值类型排序的,并且按照两个元素的双精度浮点数类型值进行比较
WAIT numslaves timeout阻塞当前客户端,直到所有以前的写命令都成功的传输和指定的slaves确认
SCAN cursor [MATCH pattern] [COUNT count]SCAN 命令及其相关的 SSCAN, HSCAN 和 ZSCAN 命令都用于增量迭代一个集合元素

String

命令说明
get key获取key的值
mget key [key…]返回所有指定的key的value,对于不存在或者不对应的String的key,都会返回特殊值nil。
set key value设置key对应的value值
setnx key value设置key对应的value值,仅当key不存在的时候
mset key value [key value…]同时设置多个key对应的value值,会覆盖已经存在的
msetnx key value [key value…]同时设置多个不存在的key,如果存在,直接不执行
setex key seconds value设置key-value的过期时间,单位:秒
psetex key milliseconds value设置key-value的过期时间,单位:毫秒
strlen key获取字符串的长度
decr key整数减1
decrby key decrement将key对应的数字减decrement
incr key整数加1
incrby key increment将key对应的数字加increment
incybyfloat key increment通过指定浮点数key来增长浮点数(存放于string中)的值. 当键不存在时,先将其值设为0再操作
getset key value设置key的值,并且返回设置之前的值
append key value在原来基础上追加值
getrange key start end返回key对应的字符串value的子串,这个子串是由start和end位移决定的(两者都在string内)。可以用负的位移来表示从string尾部开始数的下标。所以-1就是最后一个字符,-2就是倒数第二个,以此类推

List

命令说明
lrange key start end获取下表为start和end范围中的值
lrem key count value从存于 key 的列表里移除前 count 次出现的值为 value 的元素。count参数:1.count > 0: 从头往尾移除值为 value 的元素;2.count < 0: 从尾往头移除值为 value 的元素;3.count = 0: 移除所有值为 value 的元素。
lset key index value设置key对应list的下表为index的值
llen key获取key对应list的长度
lpop key移除key对应list的第一个元素
rpop key移除key对应list的最后一个元素
lpush key value[value…]插入到头部,从左往右
lpushx key value与lpush不同的是,当不存在key的时候,不做任何操作
rpush key value[value…]插入到尾部,从右往左
rpushx key value与rpush不同的是,当不存在key的适合,不做任何操作
rpoplpush source destination移除储存于source的最后一个元素放在destination的第一个元素
lindex key index返回列表中的索引所对应的值。下标是从0开始的,以此类推,负数索引则从列表的尾部开始索引的
linsert key before|after pivot value把value值插入存在于key的列表中的基准值pivot的前面或者后面,返回插入后的长度,如果当pivot找不到时返回-1
LTRIM key start stop修剪存在于key的list
BLPOP key [key …] timeout它是命令 LPOP 的阻塞版本,这是因为当给定列表内没有任何元素可供弹出的时候, 连接将被 BLPOP 命令阻塞。 当给定多个 key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的头元素
BRPOP key [key …] timeout它是 RPOP 的阻塞版本,因为这个命令会在给定list无法弹出任何元素的时候阻塞连接。 该命令会按照给出的 key 顺序查看 list,并在找到的第一个非空 list 的尾部弹出一个元素。
BRPOPLPUSH source destination timeoutBRPOPLPUSH 是 RPOPLPUSH 的阻塞版本。 当 source 包含元素的时候,这个命令表现得跟 RPOPLPUSH 一模一样。 当 source 是空的时候,Redis将会阻塞这个连接,直到另一个客户端 push 元素进入或者达到 timeout 时限。 timeout 为 0 能用于无限期阻塞客户端。

Hash

命令说明
hget key field获取hash中的字段的值
hgetall key获取所有的字段和值
hkeys key获取所有的字段
hlen key获取所有的字段数量
hstrlen key field获取对应的字段值的长度
hmget key field[field…]获取对应字段的值
hvals keys获取所有的值
hexists key field判断hash里面的field是否存在
hset key field value设置key指定的hash中指定的字段的值,如果存在直接盖重写
hmset key field value[field value…]与hset不同的是,可以增加多个值
hsetnx key field value只有当不存在的field的时候,才生效
hdel key field[field…]删除一个或者多个对应的field的值
hincrby key increment指定的字段增加数值,如果不存在直接创建
hincrbyfloat key increment指定的字段增加浮点类型的数值,倮不存在直接创建
HSCAN key cursor [MATCH pattern] [COUNT count]迭代hasn中的元素

Set

命令说明
smembers key返回集合中的所有元素
sadd key member[member…]插入一个或者多个member,如果已经存在,不会在插入
scard key返回集合中的元素个数
srem key member[member…]删除集合中的存在的member元素或者多个元素
sismember key member判断member是否存在与key对应的集合中,如果存在,返回1,否则返回0
smove source destination member将source中的member元素移除,并插入到destination的集合中,如果source不存在,则不做任何操作
spop key [sount]从储存在key的集中随机移除一个或者多个元素
sdiff key[key …]返回一个集合与给定集合的差集元素
sdiffstore destination key[key…]与sdiff不同的是,将结果存入destination的集合中,如果存在,直接覆盖
sinter key[key…]返回集合之间的交集元素
sinterstore destination key[key…]与sinter不同的是,将结果存入destination的集合中,如果存在,直接覆盖
sunion key[key…]返回所有的并集元素
sunionstore destination key[key…]与sunion不同的是,将结果存入destination的集合中,如果存在,直接覆盖
SSCAN key cursor [MATCH pattern] [COUNT count]迭代set中的元素
SRANDMEMBER key [count]仅提供key参数,那么随机返回key集合中的一个元素。Redis 2.6开始,可以接受 count 参数,如果count是整数且小于元素的个数,返回含有 count 个不同的元素的数组,如果count是个整数且大于集合中元素的个数时,仅返回整个集合的所有元素,当count是负数,则会返回一个包含count的绝对值的个数元素的数组,如果count的绝对值大于元素的个数,则返回的结果集里会出现一个元素出现多次的情况.

Sorted Set

命令说明
zrange key start stop返回区间内的有序集合
ZADD key [NX|XX] [CH] [INCR] score member [score member …]将所有的成员增加到键为key的有序集合中
zcard key返回有序集合的个数
zscore key member返回有序集合key中成员member的score值
zrem key member[member]删除有序集合key中一个或者多个元素
zrank key member返回有序集合key中成员member的排名
zcount key min max返回分数在min和max之间的集合个数
zpopmax key [count]删除key对应的有序集合中最多count个具有最高得分的成员
zpopmin key [count]删除key对应的有序集合中最多count个具有最低得分的成员
zincyby key increment member为有序集合key的成员member的score增加数值increment
zlexcount key min max ZLEXCOUNT 命令用于计算有序集合中指定成员之间的成员数量
ZRANGEBYLEX key min max [LIMIT offset count]返回指定区间内的成员,按照成员字典正序排序,分数必须相同
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]返回key的有序集合中的分数在min和max之间的所有元素(包括分数等于max或者min的元素)。元素被认为是从低分到高分排序的。
ZREMRANGEBYLEX key min max删除名称按字典由低到高排序成员之间所有成员
ZREMRANGEBYRANK key start stop移除有序集key中,指定排名(rank)区间内的所有成员。下标参数start和stop都以0为底,0处是分数最小的那个元素。这些索引也可是负数,表示位移从最高分处开始数
ZREMRANGEBYSCORE key min max移除有序集key中,所有score值介于min和max之间(包括等于min或max)的成员
ZREVRANGE key start stop [WITHSCORES]返回有序集key中,指定区间内的成员。其中成员的位置按score值递减(从大到小)来排列
ZREVRANGEBYLEX key max min [LIMIT offset count]ZREVRANGEBYLEX 返回指定成员区间内的成员,按成员字典倒序排序, 分数必须相同
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]返回有序集合中指定分数区间内的成员,分数由高到低排序
ZREVRANK key member返回有序集key中成员member的排名,其中有序集成员按score值从大到小排列。排名以0为底,也就是说,score值最大的成员排名为0。
ZSCAN key cursor [MATCH pattern] [COUNT count]迭代有序集合中的元素
ZUNIONSTORE destination numkeys key [key …] [WEIGHTS weight] [SUM|MIN|MAX]计算给定的numkeys个有序集合的并集,并且把结果放到destination中。在给定要计算的key和其它参数之前,必须先给定key个数(numberkeys)。 默认情况下,结果集中某个成员的score值是所有给定集下该成员score值之和。
ZINTERSTORE destination numkeys key [key …] [WEIGHTS weight] [SUM|MIN|MAX]计算给定的numkeys个有序集合的交集,并且把结果放到destination中。 在给定要计算的key和其它参数之前,必须先给定key个数(numberkeys)

Server

命令说明
flushdb清空当前数据库命令
flushall清空所有数据库命令
time返回服务器的时间(1.时间戳,2微秒)
bgsave后台保存DB
client getname获取当前连接名称
client id获取当前连接ID
client setname collection-name设置当前连接的名称
dbsize获取当前数据中keys的数量
info返回服务器的相关信息
CLIENT KILL [ip:port] [ID client-id] [normal|slave|pubsub] [ADDR ip:port] [SKIPME yes/no]关闭一个指定连接
client list返回所有连接到服务器的客户端信息和统计数据
bgrewriteaof用于异步执行一个 AOF(AppendOnly File)文件重写操作。重写会创建一个当前AOF文件的体积优化版本。
SHUTDOWN [NOSAVE] [SAVE]停服务!!!!!
SLOWLOG subcommand [argument]用于读取和重置Redis慢查询日志

内存相关的:http://www.redis.cn/commands.html#在搜索框中搜索输入memory

链接地址

http://www.redis.cn/commands.html

说明

服务器相关的命令没有整理!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值