• 详解Redis基本命令


           当redis环境搭建结束后,接下来需要掌握并了解redis的一些相关命令,本篇文章主要从实际操作的层面来与大家分享redis基本命令,

    具体包括:Redis五大基本类型命令(Strings,Lists,Hashes,Sets和Sort Sets)和Keys相关命令。

    一  Strings

    1. SET

     SET 命令用于创建K/V,在创建K/V时,可以添加一些约束条件,如过期时间

     定义:SET key value[expiration EX seconds|PX milliseconds] [NX|XX]

    • EX seconds – 以秒为单位设置key过期时间
    • PX milliseconds – 以毫秒为单位设置key过期时间
    • NX – 如果key不存在,则设置key
    • XX – 如果key存在时,则设置key

    2.GET

    GET命令用于通过key查询value

    定义:GET key

    3.APPEND

    APPEND命令用于追加内容,若key存在,则在该key的value后追加值;若key不存在,则先创建key,再添加value;

    定义:APPEND key value

    4.BITCOUNT

    计算value指定索引区间的为1的个数

    定义:BITCOUNT key start end

    5.BITFIELD

    6.BITTOP

    进行value的位操作,且将结果保存在destkey中

    定义:BITOP operation destkey key1 [key2 ..]

    7.BITP0S

    命令返回字符串里面第一个被设置为1或者0的bit位

    定义:BITPOS key bit start end

    8.DECR

    DECR命令用于将可转化为int类型的key值减1,需要注意的是,当key值不可转化为数值时,会出错

    定义:DECR

    8.DECRBY

    DECRBY与DECR原理差不多,只不过DECRBY是减去多少。

    定义:DECRBY key decrement

    9.GETBIT

    获取key的value值在指定offset处的bit值

    定义:GETBIT key offset

    10.GETRANGE

    GETRANGE表示截取key相应位置的字符串

    定义:GETRANGE key start end

    11.GETSET

    设置key的value值,并返回设置前的值

    定义:GETSET key value

    12.INC

    自动加1

    定义:INC key

    13.INCBY

    在当前key值基础上增加值

    定义:INCBY key increment

    14.INCRBYFLOAT

    在当前key值基础上增加浮点数

    定义:INCRBYFLOAT key increment

    15.MGET

    批量返回指定key和value

    定义:MGET key [key..]

    16.MSET

    批量设置多个key和value

    定义:MSET key value [key value ..]

    17.MSETNX

    在批量设置key时,单批量设置中,只要有一个key已经存在,则该批设置全部取消,由于这种特性,

    MSETNX可以实现要么所有的操作都成功,要么一个都不执行,这样可以用来设置不同的key,来表示一

    个唯一的对象的不同字段。

    定义:MSETNX key value [key value ...]

    18.PSETEX

    设置过期时间,以毫秒为单位

    定义:PSETEX  key  miliseconds  value

    19.SETBIT

    在key的value指定offset处设置bit值,并且返回offset处原来的bit值

    定义:SETBIT key offset value

    20.SETEX

    设置k/v同时,设置过期时间

    定义:SETEX key seconds value

    21.SETNX

    该命令与SET命令差不多,唯一区别是SETNX设置key时,若key不存在,则创建并添加value值,否则,不操作

    定义:SETNX key value

    22.SETRANGE

    从value值的offset处,用新value替换。

    定义:SETRANGE key offeset value

    23.STRLEN

    返回key的value的字符串长度

    定义:STRLEN key

    二 Hashes

    (一)概述

    (二)命令操作

    1.HSET

    设置hash单个值

    定义:HSET key filed value 

    2.HGET

    获取hash字段值

    定义:HGET key field 

    3.HDEL

    删除key的指定字段

    定义:HDEL key field

    4.HMSET

    设置key的多个字段

    定义:HMSET key value [key value ..]

    5.HMGET

    获取key的多个字段值

    定义:HMGET key field [field..]

    6.HGETALL

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

    定义:HGETALL key

    7.HEXISTS

    检查key中是否存在指定的field,存在返回1,不存在返回0

    定义:HEXISTS key field

    8.HKEYS

    返回hashs的key的字段

    定义:HKEYS key

    9.HVALS

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

    定义:HVALS key

    10.HLEN

    返回 key 指定的哈希集包含的字段的数量

    定义:HLEN key

    11.HSTRLEN

    返回key的指定字段的字符串长度

    定义:HSTRLEN key field

    12.HINCRBY

    指定字段增减指定值

    定义:HINCRBY key field increment

    13.HINCRBYFLOAT

    指定字段增加指定浮点数

    定义:HINCRBYFLOAT key field increment

    11.HSCAN

    12.HSETNX

    与HSET功能一样,区别在于HSETNX会先判断field是否存在,若存在,则不做任何操作

    定义:HSETNX key filed value

    三  Lists

    1.RPUSH

    从队列右端压入数据到List,一次可以压入单个或多个数据

    定义:RPUSH key value [value ..]

    2.RPOP

    从List移除元素,并返回被移除的元素

    定义:RPOP key

    3.LPUSH

    从List左侧压入元素,返回压入后的List长度

    定义:LPUSH key value [value ..]

    4.LPOP

    从List左侧移除元素,并返回被移除的元素

    定义:LPOP key

    5.LLEN

    返回key对应的List长度

    定义:LLEN key

    6.LSET

    设置key指定index处的值

    定义:LSET key index value

    7.LINDEX

    返回指定index处的value值

    定义:LINDEX key index

    8.LINSERT

    在List指定value前或后插入元素

    定义:LINSERT key BEFORE|AFTER pivot value

    9.LREM

    从头或从尾移除前count次出现value的值,count为正数,则从头向尾开始;count为负数,则从

    尾向头开始;count为0,移除所有为value的值

    定义:LREM key count value

    10.LTRIM

    截取List指定区间的值

    定义:LTRIM key start stop

    11.LRANGE

    获取List指定索引区间的值

    定义:LRANGE key start end

    12.LPUSHX

    与LPUSH功能一样,都是插入从左侧插入元素,区别是,LPUSHX在插入元素

    前,先判断key是否存在,只有key存在时,才插入元素。

    定义:LPUSHX key value

    13.RPUSHX

    功能与RPUSH一样,区别是RPUSHX在插入元素前,先判断key是否存在,

    只有key存在时,才插入元素。

    定义:RPUSHX key value

    14.RPOPLPUSH

    从指定key中移除元素,且将移除的元素存放在另一个key中,返回被移除和放入的元素

    定义:RPOPLPUSH source destination

    15.BRPOPLPUSH

    BRPOPLPUSH 是RPOPLPUSH的阻塞版本。 当 source 包含元素的时候,这个命令表现

    得跟RPOPLPUSH一模一样。 当 source 是空的时候,Redis将会阻塞这个连接,直到

    另一个客户端 push 元素进入或者达到 timeout 时限。 timeout 为 0 能用于无限期阻塞

    客户端

    定义:BRPOPLPUSH key source destination timeout

    16.BLPOP

    BLPOP是阻塞式列表的弹出原语

    定义:BLPOP key [key ..] timeout

    17.BRPOP

    BRPOP是一个阻塞的列表弹出原语

    定义:BRPOP key [key ..] timeout

    四  Sets

    1.SADD

    向Sets中添加元素,一次可添加单个或多个

    定义:SADD key member [member..]

    2.SMEMBERS

    查看key所有元素

    定义:SMEMBERS key

    3.SCARD

    返回key元素个数

    定义:SCARD key

    4.SISMEMBER

    判断key中是否存在某个元素,存在返回1,不存在返回0

    定义:SISMEMBER key member

    5.SREM

    定义:SREM key members [members ..]

    6.SMOVE

    从指定key移除元素到目标元素,移除成功返回1,否则返回0

    定义:SMOVE

    7.SPOP

    从sets中随机取count个元素,返回随机取出的元素

    定义:SPOP key [count]

    8.SRANDMEMBER

    从sets中随机返回count个元素

    定义:SRANDMEMBER 

    9.SDIFF

    返回集合差集

    定义:SDIFF  key [key ..]

    10.SDIFFSTORE

    SDIFFSTORE命令与SDIFF命令功能一样,区别是SDIFFSTORE将差集的结果存放在destination中

    定义:SDIFFSTORE destination key [key ..]

    11.SINTER

    定义:SINTER key [key..]

    12.SINTERSTORE

    SINTERSTORE功能与SINTER是一样的,都是返回差集,区别是SINTERSTORE将差集存在

    destination中

    定义:SINTERSTORE destination key [key..]

    13.SUNION

    SUNION返回并集

    定义:SUNION key [key..]

    14.SUNIONSTORE

    SUNIONSTORE功能与SUNION一样,都是返回并集,区别是SUNIONSTORE

    将并集存放在destination中

    定义:SUNIONSTORE destinaiton key [key..]

    15.SCAN

    五 Sorted Sets

    1.ZADD

    添加新值

    定义:ZADD key [NX|XX] [CH] [INCR] score member [score member]

    2.ZRANGE

    获取指定key的索引范围内的值,可只获取值或带权重的值。

    定义:ZRANGE key start end [WIHTSCORES]

    3.ZSCORE

    返回成员的score

    定义:ZSCORE key member

    4.ZREM

    从key中移除元素

    定义:ZREM key member [member..]

    5.ZRANK

    返回有序集key中membe排名

    定义:ZRANK key member

    6.ZCOUNT

    计算介于score范围内的元素个数

    定义:ZCOUNT key min max

    7.ZCARD

    返回key的有序集个数

    定义:ZCARD key

    8.ZPOPMIN

    从key中移除count个socre最低的元素

    定义:ZPOPMIN key [count]

    9.ZPOPMAX

    从key中移除count个socre最高的元素

    定义:ZPOPMAX

    10.ZINCRY

    为有序集key的成员member的score值加上增量increment,返回增量后的

    score

    定义:ZINCRY key increment member

    11.BZPOPMIN

    功能与ZPOPMIN一样,区别是BZPOPMIN带有阻塞

    定义:BZPOPMIN key [key..] timeout

    12.BZPOPMAX

    功能与ZPOPMAX一样,区别是BZPOPMAX带有阻塞

    定义:BZPOPMAX key [key..] timeout

    13.ZINTERSCORE

    计算有序集合的交集,其中destination用来存放交集结果,mumkeys指用于计算交集key的个数

    ,weight表示计算交集时,score乘以的权重,默认为1

    定义:ZINTERSCORE destination mumkeys key [key..] [weights weight] [SUM|MIN|MAX]

    14.ZUNIONSTORE

    用法与ZINTERSCORE一样,只不过是计算有序集合的并集

    定义:ZUNIONSTORE destination mumkeys key [key..] [weights weight] [SUM|MIN|MAX]

    15.ZLEXCOUNT

    ZLEXCOUNT 命令用于计算有序集合中指定成员之间的成员数量

    定义:ZLEXCOUNT key min max

    16.ZRANGEBYLEX

    ZRANGEBYLEX 返回指定成员区间内的成员,按成员字典正序排序, 分数必须相同

    定义:ZRANGEBYLEX key min max [limit offset count]

    17.ZRANGBYSCORE

    根据分数方位查找元素

    定义:ZRANGBYSCORE key min max [withscores] [limit offset count]

    18.ZREMRANGEBYRANK

    移除有序集key中,指定排名(rank)区间内的所有成员

    定义:ZREMRANGEBYRANK key start stop

    19.ZREMRANGBYSCORE

    移除有序集key中,所有score值介于min和max之间(包括等于min或max)的成员

    定义:ZREMRANGBYSCORE key min max

    20.ZREVRANGE

    返回有序集key中,指定区间内的成员。其中成员的位置按score值递减(从大到小)来排列。

    具有相同score值的成员按字典序的反序排列。 除了成员按score值递减的次序排列这一点外

    定义:ZREVRANGE key start stop [withscores]

    21.ZREVRANGEBYLEX

    ZREVRANGEBYLEX 返回指定成员区间内的成员,按成员字典倒序排序, 分数必须相同

    定义:ZREVRANGEBYLEX key min max

    22.ZREVRANGEBYSCORE

    返回有序集合中指定分数区间内的成员,分数由高到低排序

    定义:ZREVRANGEBYSCORE key min max

    23.ZREVRANK

    返回有序集key中成员member的排名,其中有序集成员按score值从大到小排列。

    排名以0为底,也就是说,score值最大的成员排名为0

    定义:ZREVRANK key member

    24.ZSCAN

    定义:ZSCAN key cursor [math pattern] [count count]

    六 Keys

    1.DEL

    删除key

    定义:DEL key [key...]

    2.DUMP

    序列化key

    定义:DUMP key

    3.RESTORE

    反序列化

    定义:RESTORE key ttl serialeze-value [replace]

    4.EXISTS

    判断key是否存在,存在返回1,不存在返回0

    定义:EXISTS key

    5.EXPIRE

    设置过期时间,以秒为单位

    定义:EXPIRE seconds

    6.EXPIREAT

    EXPIREAT的作用和EXPIRE类似,都用于为 key 设置生存时间。

    不同在于EXPIREAT命令接受的时间参数是 UNIX 时间戳 Unix timestamp

    定义:EXPIREAT key timespan

    7.KEYS

    查看key,其中pattern满足正则表达式

    定义:KEYS pattern

    8.MIGRATE

    定义:MIGRATE host port key destination-db timeout [copy] [replace]

    9.MOVE

    Redis MOVE 命令用于将当前数据库的 key 移动到给定的数据库 db 当中

    定义:MOVE key db

    10.OBJECT

    OBJECT 命令可以在内部调试(debugging)给出keys的内部对象,它用于检查或者了

    解你的keys是否用到了特殊编码 的数据类型来存储空间z。 当redis作为缓存使用的时候,

    你的应用也可能用到这些由OBJECT命令提供的信息来决定应用层的key的驱逐策略(eviction policies)

    定义:OBJECT subcommand [arguments [arguments..]]

    11.PERSIST

    持久化key

    定义:PERSIST key

    12.PEXPIRE

    它以毫秒为单位设置 key 的生存时间

    定义:PEXPIRE key milliseconds

    13.PEXPIREAT

    以毫秒为单位设置 key 的过期 unix 时间戳

    定义:PEXPIREAT key milliseconds-timestamp

    14.PTTL

    以毫秒为单位返回 key 的剩余生存时间,功能与TTL差不多

    定义:PTTL key

    15.RANDOMKEY

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

    定义:RANDOMKEY

    16.RENAME

    给key重新命名

    定义:RENAME key newkey

    17.RENAMENX

    当且仅当 newkey 不存在时,将 key 改名为 newkey ,成功返回1,失败返回0

    定义:RENAMENX key newkey

    18.SCAN

    增量迭代集合元素

    定义:SCAN  cursor [match pattern] [count count]

    19.SORT

    排序

    定义:SORT key [by pattern] [limit offset count] [get pattern] [asc|desc] [alpha] destination

    20.TOUCH

    修改key最后访问时间

    定义:TOUCH key [key..]

    21.TTL

    计算key过期剩余时间,返回剩余的秒数

    定义:TTL key

    22.TYPE

    返回key类型

    定义:TYPE key

    23.UNLINK

    异步删除keys

    定义:UNLINK key [key..]

    24.WAIT

    当前连接的写操作会产生日志偏移,该命令会返回已处理至该偏移量的slaves的个数

    定义:WAIT numslavess timeout

    七  版权区

    •    转载博客,必须注明博客出处
    •    博主网址:http://www.cnblogs.com/wangjiming/
    •    如您有新想法,欢迎提出,邮箱:2098469527@qq.com
    •   专业.NET之家技术QQ群:490539956
    •   专业化Java之家QQ群:924412846
    •   有问必答QQ群:2098469527
    •   一对一技术辅导QQ:2098469527
  • 相关阅读:
    clearstatcache清除文件状态缓存
    使用mysql创建自己的物化视图
    python——复制目录结构小脚本
    开发一个jQuery插件——多级联动菜单
    pack、unpack自制二进制“数据库”
    博客爬取系统
    session放入缓存(redis)、DB
    centos+nginx从零开始配置负载均衡
    几个容易被忽略的mysql知识
    数组方式进行表单提交
  • 原文地址:https://www.cnblogs.com/wangjiming/p/10817266.html
Copyright © 2020-2023  润新知