内容简介:当redis环境搭建结束后,接下来需要掌握并了解redis的一些相关命令,本篇文章主要从实际操作的层面来与大家分享redis基本命令,具体包括:Redis五大基本类型命令(Strings,Lists,Hashes,Sets和Sort Sets)和Keys相关命令。1. SET
当 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
An Introduction to the Analysis of Algorithms
Robert Sedgewick、Philippe Flajolet / Addison-Wesley Professional / 1995-12-10 / CAD 67.99
This book is a thorough overview of the primary techniques and models used in the mathematical analysis of algorithms. The first half of the book draws upon classical mathematical material from discre......一起来看看 《An Introduction to the Analysis of Algorithms》 这本书的介绍吧!