(本文近两万字,阅读时间可能较久,建议收藏以便查询使用)

目录

Redis诞生背景功能简介

Redis的下载与安装

Redis键的基本操作

Redis键名查询

Redis键的类型查询

Redis键的重命名操作

Redis键的修改最后访问时间

Redis键的删除操作

Redis键的过期操作

Redis键的过期时长的设定

Redis键的过期时长的设定

Redis键的过期时长的设定

Redis键的序列化操作

Redis键的序列化操作

Redis键的反序列化及恢复操作

Redis键的排序操作

Redis键的迁移操作

Redis单个实例内多库间的数据迁移操作

Redis多个实例间的数据迁移操作

Redis字符串类型

基本概念:

应用场景:

基本命令:

Redis字符串类型键的设置

Redis字符串类型键的查询

Redis字符串类型键的计数操作

Redis字符串类型键的二进制操作

Redis哈希表类型

基本概念:

应用场景:

基本命令:

Redis哈希表类型键的设置

Redis哈希表类型键的查询

Redis哈希表类型键的删除

Redis列表类型

基本概念:

应用场景:

基本命令:

Redis列表类型键的设置

Redis列表类型键的查询

Redis列表类型键的删除

Redis列表类型键的阻塞式操作

Redis集合类型

基本概念:

应用场景:

基本命令:

Redis集合类型键的设置

Redis集合类型键的查询

Redis集合类型键之间的关系

Redis集合类型键的删除

Redis有序集合类型

基本概念:

应用场景:

基本命令:

Redis有序集合类型键的设置

Redis有序集合类型键的查询

Redis有序集合类型键之间的关系

Redis有序集合类型键的删除


Redis诞生背景功能简介

Redis的全称是Remote Dictionary Server,翻译过来即远程字典服务,字典我们肯定就会想到经典的键值对(key-value)。它诞生于2008年Salvatore Sanfilippo之手,Salvatore Sanfilippo来自意大利的西西里岛,居住在卡塔尼亚。目前供职于Pivotal公司。他现在使用的网名是antirez。

在2008年的时候,那时候还没有非关系型数据库的出现,都是关系型数据库如最出名的MySQL等。我们都知道在对关系型数据库进行读写时,那都是对物理磁盘的一次I/O操作。在古老年代,访问量少时,它还可以拍拍胸膛说我可以。但到2008年的时候,随着LLOOGG.com所维护的网站越来越多,Redis的作者便对MySQL的性能感到了失望,于是便决定亲自为LOG量身定制一个非关系型数据库Redis并于2009年发布第一个版本。因为作者想要让更多人使用它,于是在同一年也就是2009年,作者进行了开源发布。

以上呢,我们也知道了Redis是一个开源的、构建于内存的数据结构数据库。它呢,常被用于数据存储、缓存处理和消息处理。它的操作都是原子化操作,具有简单易用的主从复制功能。支持事务处理,但是和MySQL的事务处理又有些区别。MySQL的事务处理是可以回滚的,但是Redis不支持回滚操作。当然我们知道内存存数据是不安全的,一断电内存里的数据就会全部丢失,所以Redis也支持不同级别的磁盘持久化处理策略。如果我们只是想把Redis当作一个缓存来处理的话,也可以禁用掉。同时Redis还支持哨兵和Redis Cluster提供自动分区的高可用服务。

接下来我们来看看Redis的优势:

1.极高的读写性能,每次能读的速度是110000次/秒,写的速度是81000次/秒

2.丰富的数据类型,string(字符串),hash(哈希表),list(双向链表),set(集合),zset(sorted set)(有序集合)

3.原子性操作,就是几个操作进行时,要么一起成功要么一起失败

4.支持主从热备,主从热备的意思是同时部署2台服务器实现数据同步及双机热备,如果有一个管理服务器故障了,就可以切换到备份服务器保证系统继续稳定运行,两个数据库会一直保持同步状态

5.丰富的特性,如提供了键过期功能,可以用来实现缓存。提供了发布订阅功能,可以用来实现消息系统。提供了流水线(Pipeline)功能,这样客户端能将一批命令一次性传到Redis,减少了网络的开销。同时还支持Lua脚本功能,可以利用Lua创造出新的Redis命令。提供了简单的事务功能,能在一定程度上保证事务特性。

Redis的下载与安装

Window版本

Redis本身是没有Window版本的,它的Window版本是由微软公司进行更新和维护的,当然它的版本也就自然比Linux版本要慢上很多,下面我们就是通过在Github上面的包下载。其中msi为安装包,zip则是免安装的压缩包

下载地址:Releases · tporadowski/redis · GitHub

点击下载地址我们选择这个压缩包选择下载解压

这时候打开cmd命令行窗口,cd到这个文件的目录下,然后输入

redis-server.exe redis.windows.conf

这个redis.windows.conf可以省略,省略后会启动默认的

这时候会出现这样子一个界面(千万不要关闭!!!否则访问服务端会出错

这时候再另外开多一个cmd命令行窗口,一样cd到这个文件的目录下,输入

redis-cli.exe -h 127.0.0.1 -p 6379

然后再设置键值对测试

set EE 582

用键取出值

get EE

效果如下图:

都能正常显示后便说明我们已经成功安装了redis

       Linux版本

Linux版本的话和Window的版本会比较高,原因上面也说了,接下来怎么下载呢?首先打开我们的Linux终端,切换/tmp,输入命令

(这个网址可以自己去Redis的官网选择版本下载)

wget https://download.redis.io/releases/redis-4.0.8.tar.gz

输入这个命令之后就会开始下载这个压缩包了,下载完之后我们输入命令ll可以看到有个压缩包

然后我们直接输入命令,解压压缩包

(后面的文件名根据自己情况而定)

tar zxvf redis-4.0.8.tar.gz 

解压好了之后就会多出一个目录,然后我们进入到这个目录下,然后正常对于一个二进制包我们进行安装之前需要编译一下,但是Redis自己带有一个Makefire,所以我们只需要输入命令make,这个时候我们要把这个Redis安装到/usr/local下面,首先创建一个目录

mkdir /usr/local/redis

然后输入安装命令

make install PREFIX=/usr/local/redis

安装好后去到redis目录下我们可以看到一个bin文件,进去就是我们Redis的所有命令了

这个时候我们缺少了一个配置文件需要回去刚刚那里复制过来,下图框出来那个

拿过来之后,我们就可以开始启动我们的Redis服务了,输入命令

bin/redis-server redis.conf

如上图所示,这个Redis服务就已经启动成功了 ,接下来我们来测试一下Redis客户端,输入bin/redis-cliset test 100,get test

 

如果结果显示都正常,就证明我们的Redis也已经安装好了

Redis键的基本操作

Redis键名查询

                命令名称:KEYS

                语法:KEYS pattern

                pattern(翻译;模式)的用法:

                        ? (表示匹配一个任意字符)

                        *   (表示匹配任意个任意字符)

                      [be]  (表示b或者e)

                     [^be] (表示除了b和e)

                     [b-e]  (表示b到e)

                功能:返回匹配模式的所有键名

                命令名称:EXISTS

                语法:EXISTS key [key...]

                返回值:

                        1 代表存在

                        0 代表不存在

                功能:检查给定key是否存在

                命令名称:SCAN

                语法:SCAN cursor [MATCH pattern] [COUNT count]

                返回值:完整遍历的数据

                功能:SCAN命令每次被调用之后,都会向用户返回一个新的游标,用户在                               下次迭代时需要使用这个新游标作为SCAN命令的游标参数,以此来                               延续之前的迭代过程

                命令名称:RANDOMKEY

                语法:RANDOMKEY

                返回值:键名

                功能:从当前数据库随机返回一个键名

Redis键的类型查询

                命令名称:TYPE

                语法:TYPE key

                返回值:返回存储在键的值的类型的字符串表示形式。可以返回的不同类                                  型是:string,list,set,zset和hash

                功能:查询键的类型

                命令名称:OBJECT

                语法:OBJECT subcommand [arguments [arguments ...]]

                子命令:

                        OBJECT REFCOUNT <key>

OBJECT ENCODING <key>

OBJECT IDLETIME <key>

                返回值:

                        REFCOUNT 当该键小于共享整数10000时返回一个固定值2的30次方减1,否则返                          回引用次数

                        ENCODING 返回键的类型

                        IDLETIME 返回距离上次调用的时间

                功能:从内部查看给定 key 的 Redis 对象

Redis键的重命名操作

                命令名称:RENAME

                语法:RENAME key newkey

                返回值:

                        当 key 和 newkey 相同,或者 key 不存在时,返回一个错误

                        当 newkey 已经存在时, RENAME命令将覆盖旧值

                        改名成功时提示 OK ,失败时返回一个错误

                功能:将 key 改名为 newkey

                命令名称:RENAMENX

                语法:RENAMENX key newkey

                返回值:

当 key 不存在时,返回一个错误

                        当修改成功时,返回1

                        如果 newkey 已经存在,返回0

                功能:当且仅当 newkey 不存在时,将 key 改名为 newkey

Redis键的修改最后访问时间

                命令名称:TOUCH

                语法:TOUCH key [key ...]

                返回值:返回设置成功的键的数量

                功能:修改 key 的最后访问时间为当前时间

Redis键的删除操作

                命令名称:DEL

                语法:DEL key [key ...]

                返回值:返回删除的键的数量

                功能:删除指定的键

                命令名称:UNLINK

                语法:UNLINK key [key ...]

                返回值:返回删除的键的数量

                功能:非阻塞删除指定的键

Redis键的过期操作

Redis键的过期时长的设定

                命令名称:EXPIRE

                语法:EXPIRE key seconds

                功能:为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被                                 自动删除

                返回值:设置成功返回 1,否则返回 0

                命令名称:EXPIREAT

                语法:EXPIREAT key timestamp

                功能:EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置生存时间。                               不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix                                     timestamp)

                返回值:如果生存时间设置成功返回 1,否则返回 0

                命令名称:PEXPIRE

                语法:PEXPIRE key milliseconds

                功能:使用方法与 EXPIRE 一致,但是时间是毫秒

                返回值:设置成功返回 1,否则返回 0

                命令名称:PEXPIREAT

                语法:PEXPIREAT key milliseconds-timestamp

                功能:使用方法与 EXPIREAT 一致,但是时间戳是毫秒

                返回值:如果生存时间设置成功返回 1,否则返回 0

Redis键的过期时长的设定

                命令名称:TTL

                语法:TTL key

                功能:以秒为单位,返回给定 key 的剩余生存时间(TTL,time to live)

                返回值:

                        当 key 不存在时,返回 -2

                        当 key 存在但没有设置剩余生存时间时,返回 -1

                        否则,以秒为单位,返回 key 的剩余生存时间

                命令名称:PTTL

                语法:PTTL key

                功能:以毫秒为单位,返回给定 key 的剩余生存时间

                返回值:

                        当 key 不存在时,返回 -2

                        当 key 存在但没有设置剩余生存时间时,返回 -1

                        否则,以毫秒为单位,返回 key 的剩余生存时间

Redis键的过期时长的设定

                命令名称:PERSIST

                语法:PERSIST key

                功能:移除给定 key 的生存时间,将这个 key 转换成持久的

                返回值:

                        当生存时间移除成功时,返回 1

                        如果 key 不存在或 key 没有设置生存时间,返回 0

Redis键的序列化操作

Redis键的序列化操作

                命令名称:DUMP

                语法:DUMP key

                功能:序列化给定 key ,并返回被序列化的值。序列化的值不包括任何生存                             时间信息

                返回值:如果 key 不存在,返回 nil,否则返回序列化之后的值

Redis键的反序列化及恢复操作

                命令名称:RESTORE

                语法:RESTORE key ttl serialized-value [REPLACE]

                功能:反序列化给定的序列化值,并将它和给定的 key 关联。参数 ttl 以毫                               秒为单位为 key 设置生存时间;如果 ttl 为 0,那么不设置生存时间

                返回值:如果反序列化成功返回 OK,否则返回一个错误

Redis键的排序操作

                命令名称:SORT

                语法:SORT key [BY pattern] [LIMIT offset count] [GET pattern[GET                                 pattern...]] [ASC|DESC] [ALPHA] [STORE destination]

                功能:返回或保存给定列表、集合、有序集合 key 中经过排序的元素。排                                 序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较

                返回值:没有使用 STORE 参数,返回列表形式的排序结果,使用 STORE                                  参数返回排序结果的元素数量

Redis键的迁移操作

Redis单个实例内多库间的数据迁移操作

                命令名称:MOVE

                语法:MOVE key db

                功能:将当前数据库的 key 移动到给定的数据库 db 当中。如果当前数据库                               (源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者                               key 不存在于当前数据库,那么 MOVE 没有任何效果

                返回值:移动成功返回 1,失败则返回 0

Redis多个实例间的数据迁移操作

                命令名称:MIGRATE

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

                功能:将 key 原子性地从当前实例传送到目标实例的指定数据库上,一旦传                             送成功, key 保证会出现在目标实例上,而当前实例上的 key 会被删                             除。这个命令是一个原子性操作,它在执行的时候会阻塞进行迁移的                             两个实例,直到以下任意结果发生:迁移成功,迁移失败,等待超时

                返回值:迁移成功返回 OK,否则返回相应的错误

Redis字符串类型

基本概念:

String类型是 Redis 能与键关联的最简单的数据类型,它是 Memcached 当中仅有的数据类型,因此可以很快地被初学者学习。Redis的Key名称也是一个字符串,当我们使用字符串类型作为其对应的值时,我们可以根据 Key 名称来查找映射对应的值。Redis 字符串是二进制安全的,这意味着一个 Redis 字符串能包含任意类型的数据,例如:一张JPEG格式的图片或者一个序列化的Ruby对象。一个字符串类型的值最多能存储512MB的内容。

应用场景:

高速缓存HTML片段或页面,高速缓存关系型数据库查询的数据结果,高速缓存会话控制数据,分布式锁,防止重复提交,存储设置固定格式的字符串序列(例如:时间序列),统计网站访问者数量,每天注册用户数,限制API在某一时段的访问次数,用户签到,统计活跃用户,用户在线状态。

基本命令:

Redis字符串类型键的设置

                命令名称:SET

                语法:SET key value [EX seconds] [PX milliseconds] [NX|XX]

                功能:给一个key添加字符串类型的值,如果该key已经存在,值会被新值覆                             盖,不论是什么类型的key。SET设置之后的键,之前的生存时间会                               被丢弃。

                选项:EX seconds(生存时间:秒)/PX milliseconds(生存时间:毫秒)

                           NX(仅在键不存在时设置)/XX(仅在键存在时设置)

                返回值:如果设置成功返回 1,否则返回 nil

                命令名称:MSET

                语法:MSET key value [key value ...]

                功能:同时设置多个key,如果key存在会覆盖。MSET是原子的,所有键会                             同时设置成功或者失败。

                返回值:成功返回 1

                命令名称:SETEX

                语法:SETEX key seconds value

                功能:给一个键设置为字符串类型,并指定生存时间(单位:秒)。该命令                               是原子的,如果设置失败或者指定生存时间失败,会恢复初始状态。

                返回值:如果设置成功返回OK,否则返回错误信息

                命令名称:PSETEX

                语法:PSETEX key milliseconds value

                功能:给一个键设置为字符串类型,并指定生存时间(单位:毫秒)。该命                               令是原子的,如果设置失败或指定生存时间失败,会恢复初始状态。

                返回值:如果设置成功返回OK,否则返回错误信息

                命令名称:SETNX

                语法:SETNX key value

                功能:如果key不存在,将其设置为字符串类型

                返回值:如果设置成功返回 1,否则返回 0

                命令名称:MSETNX

                语法:MSETNX key value [key value ...]

                功能:同时设置多个key,如果其中一个key存在则设置失败,不考虑其他键                             是否存在。MSETNX是原子的,所有键会同时设置成功或者失败。

                返回值:如果所有键设置成功返回 1,否则返回 0

                命令名称:SETRANGE

                语法:SETRANGE key offset value

                功能:修改或者设置一个键的字符串类型值的内容。如果键不存在,就设置                               一个新的,并且补充offset个NULL,再加入value,换句话说,值为                               “offset个NULL+value”。如果键已经存在,从该键值offset处开始插                             入value,如果offset的值大于该键字符串长度,用NULL补充到该长                               度,再末尾插入value。

                返回值:成功返回字符串长度,失败返回错误信息。

                注意事项:offset最大值2^29-1(536870911)

                命令名称:APPEND

                语法:APPEND key value

                功能:如果key存在,则在后面追加value的内容。如果key不存在,会创建                               一个key,并设置其值为空字符串,并在后追加value的内容。

                返回值:追加成功返回字符串长度。

Redis字符串类型键的查询

                命令名称:GET

                语法:GET key

                功能:查询key的值。

                返回值:如果键不存在返回nil。如果key不是String类型,返回错误信息。

                命令名称:MGET

                语法:MGET key [key ...]

                功能:查询所有key的值。

                返回值:列出所有键的值,绝不会执行失败,如果键是String类型,返回其                                  值,如果键不存在或者不是String类型,返回 nil。

                命令名称:GETRANGE

                语法:GETRANGE key start end

                功能:查询一个字符串的子串,子串的内容取决于start和end(两个参数都                               必需),start和end可以为负数,-1代表最后一个字符,-2代表倒数                               第二个字符。

                返回值:如果key存在,返回字符串的子串内容,如果key不存在,返回空字                                符串,如果key不是String类型,返回错误信息。

                命令名称:STRLEN

                语法:STRLEN key

                功能:返回key的字符串长度。

                返回值:字符串长度,如果key不存在就返回0,如果不是字符串类型,返回                                错误信息。

                命令名称:GETSET

                语法:GETSET key value

                功能:原子地给一个key设置value并且将旧值返回。

                返回值:如果key不是字符串类型,返回一个错误。

                应用场景:获取计数器并且重置为0。

Redis字符串类型键的计数操作

                命令名称:INCR

                语法:INCR key

                功能:将key中储存地数字值加一,如果key不存在,那么key的值会先被初                               始化为 0,然后再执行 INCR 操作。本操作的值限制在 64位(bit)有符                             号数字表示之内。Key的值必须是整型。

                返回值:如果值包含错误的类型,或字符串类型的值不能表示为数字,返回                                   一个错误。如果执行成功,返回执行 INCR 命令后 key 的值。

                命令名称:INCRBY

                语法:INCRBY key increment

                功能:将key中储存的数字值加上increment,如果key不存在,那么key的                               值会先被初始化为 0,然后再执行 INCRBY 操作。本操作的值限制在                             64位(bit)有符号数字表示之内。Key的值必须是整型。

                返回值:如果值包含错误的类型,或字符串类型的值不能表示为数字,返回                                   一个错误。如果执行成功,返回执行 INCRBY 命令后 key 的值。

                命令名称:INCRBYFLOAT

                语法:INCRBYFLOAT key increment

                功能:将key中储存的数字值加上浮点数increment,如果key不存在,那么                             key的值会先被初始化为 0,然后再执行 INCRBYFLOAT 操作。可以                             使用科学计数法。

                返回值:如果值包含错误的类型,返回一个错误。如果执行成功,返回更新                                  以后的值。

                命令名称:DECR

                语法:DECR key

                功能:将key中储存地数字值减一,如果key不存在,那么key的值会先被初                               始化为 0,然后再执行 DECR 操作。本操作的值限制在 64位(bit)有符                             号数字表示之内。Key的值必须是整型。

                返回值:如果值包含错误的类型,或字符串类型的值不能表示为数字,返回                                   一个错误。如果执行成功,返回执行 DECR 命令后 key 的值。

                命令名称:DECRBY

                语法:DECRBY key decrement

                功能:将key中储存的数字值减去decrement,如果key不存在,那么key的                             值会先被初始化为0,然后再执行 DECRBY 操作。本操作的值限制在                             64位(bit)有符号数字表示之内。Key的值必须是整型。

                返回值:如果值包含错误的类型,或字符串类型的值不能表示为数字,返回                                   一个错误。如果执行成功,返回执行 DECRBY 命令后 key 的值。

Redis字符串类型键的二进制操作

                命令名称:SETBIT

                语法:SETBIT key offset value

                功能:

                              对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit),位的设置或清                                除取决于 value 参数,可以是 0 也可以是 1。

                              字符串会进行伸展(grown)以确保它可以将 value 保存在指定的偏移量上。当                                  字符串值进行伸展时,空白位置以 0 填充。offset参数必须大于或等于0,小于                                2^32(bit 映射被限制在 512MB 之内)。

                返回值:当 key 不存在时,自动生成一个新的字符串值。指定偏移量原来储                                存的位。

                命令名称:GETBIT

                语法:GETBIT key offset

                功能:对 key 所储存的字符串值,获取指定偏移量上的位(bit)。

                返回值:当 offset 比字符串值的长度大,或者 key 不存在时,返回 0 。字                                  符串值指定偏移量上的位(bit)。

                命令名称:BITCOUNT

                语法:BITCOUNT key [start] [end]

                功能:计算给定字符串中,被设置为 1 的比特位的数量。一般情况下,给定                             的整个字符串都会被进行计数,通过指定额外的 start 或 end 参数,                             可以让计数只在特定的位上进行。

                返回值:不存在的 key 被当成是空字符串来处理,因此对一个不存在的 key                                进行 BITCOUNT操作,结果为 0/被设置为 1 的位的数量。

                命令名称:BITOP

                语法:BITOP operation destkey key [key ...]

                功能:对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保                             存到 destkey 上。

                OPERATION:

                        可以是 AND、OR、NOT、XOR这四种操作中的任意一种。                                            除了NOT操作之外,其他操作都可以接受一个或多个 key 作为输入。

                注意:

                        当 BITOP 处理不同长度的字符串时,较短的那个字符串所缺少的部分                            会被看作 0.空的 key 也被看作是包含 0 的字符串序列。

                返回值:保存到 destkey 的字符串长度和输入 key 中最长字符串长度相等。

                命令名称:BITPOS

                语法:BITPOS key bit [start] [end]

                功能:返回字符串里面第一个被设置为1或者0的bit位。

                返回值:命令返回字符串里面第一个被设置为1或者0的bit位。如果我们在空                                字符串或者0字节的字符串里面查找bit为1的内容,那么结果将返                                    回-1。

Redis哈希表类型

基本概念:

Redis 中的 Hash类型可以看成是具有 String key 和 String value的 map容器。该类型非常适合存储对象信息。每一个 Hash 可以存储 4294977295 个键值对。

应用场景:

会员信息;用户购物车数据。

基本命令:

Redis哈希表类型键的设置

                命令名称:HSET

                语法:HSET key field value

                功能:将哈希表 key 中的域 field 的值设为 value。如果 key 不存在,一个                               新的哈希表被创建并进行 HSET 操作。如果域 field 已经存在于哈希                               表中,旧值将被覆盖。

                返回值:如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1。如                                果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0。

                命令名称:HSETNX

                语法:HSETNX key field value

                功能:将哈希表 key 中的域 field 的值设为 value,当且仅当域 field 不存                                 在。若域 field 已经存在,该操作无效。如果 key 不存在,一个新哈                               希表被创建并执行 HSETNX 命令。

                返回值:设置成功返回1。如果给定域已经存在且没有操作被执行,返回0。

                命令名称:HMSET

                语法:HMSET key field value [field value ...]

                功能:同时将多个 field-value (域-值)对设置到哈希表 key 中。此命令会覆                               盖哈希表中已存在的域。如果 key 不存在,一个空哈希表被创建并执                             行 HMSET 操作。

                返回值:如果命令执行成功返回OK。当 key 不是哈希表(hash)类型时,返                                  回一个错误。

                命令名称:HINCRBY

                语法:HINCRBY key field increment

                功能:

                        为哈希表 key 中的域 field 的值加上增量 increment。

增量也可以为负数,相当于对给定域进行减法操作。

如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。

如果 field 不存在,那么在执行命令前,域的值被初始化为 0。

对一个储存字符串值的域 field 执行 HINCRBY 命令将造成一个错误。

本操作的值被限制在 64 位(bit)有符号数字表示之内。

                返回值:命令执行成功返回哈希表 key 中域 field 的值。否则返回一个错误。

                命令名称:HINCRBYFLOAT

                语法:HINCRBYFLOAT key field increment

                功能:

                        为哈希表 key 中的域 field 的值加上浮点数增量 increment。

如果 key 不存在,一个新的哈希表被创建并执行加法操作。

如果 field 不存在,那么在执行命令前,域的值被初始化为 0。

                返回值:命令执行成功返回哈希表 key 中域 field 的值。否则返回一个错误。

Redis哈希表类型键的查询

                命令名称:HGET

                语法:HGET key field

                功能:返回哈希表 key 中给定域 field 的值。

                返回值:给定域的值,若给定域或给定 key 不存在时返回 nil。

                命令名称:HGETALL

                语法:HGETALL key

                功能:返回哈希表 key 中所有的域和值。在返回值里,紧跟每个域名(field                               name)之后是域的值(value),所以返回值的长度是哈希表大小的两                                 倍。

                返回值:以列表返回哈希表的域和域的值,若给定 key 不存在时返回 nil。

                命令名称:HMGET

                语法:HMGET key field [field ...]

                功能:返回哈希表 key 中一个或多个给定域的值。

                返回值:一个包含多个给定域的关联值的表,表值的排列顺序和给定域参数                                  的请求顺序一样,若给定域不存在时返回 nil。

                命令名称:HKEYS

                语法:HKEYS key

                功能:返回哈希表 key 中所有域。

                返回值:一个包含哈希表中所有域的表。当key不存在时,返回空表。

                命令名称:HVALS

                语法:HVALS key

                功能:返回哈希表 key 中所有域的值。

                返回值:一个包含哈希表中所有值的表。当key不存在时,返回空表。

                命令名称:HEXISTS

                语法:HEXISTS key field

                功能:查看哈希表 key 中,给定域 field 是否存在。

                返回值:如果哈希表含有给定域返回 1。否则返回 0。

                命令名称:HLEN

                语法:HLEN key

                功能:返回哈希表 key 中域的数量。

                返回值:哈希表中域的数量。当key不存在时,返回 0。

                命令名称:HSTRLEN

                语法:HSTRLEN key field

                功能:返回哈希表 key 中给定域中的值的字符串长度(string length)。

                返回值:一个整数。当给定的键或者域不存在时,返回 0。

Redis哈希表类型键的删除

                命令名称:HDEL

                语法:HDEL key field [field ...]

                功能:删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。

                返回值:被成功移除的域的数量,不包括被忽略的域。

Redis列表类型

基本概念:

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。一个列表最多可以包含 2^32-1个元素(4294967295,每个列表超过40亿个元素)。

应用场景:

粉丝列表;时间轴(Timeline);最新文章;消息队列。

基本命令:

Redis列表类型键的设置

                命令名称:LPUSH

                语法:LPUSH key value [value ...]

                功能:将一个或多个值 value 插入到列表 key 的表头。如有多个 value 值,                             那么各个 value 值按从左到右的顺序依次插入到表头。操作为原子性                             操作,如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。

                返回值:执行 LPUSH 命令后,列表的长度;如果key不是列表,返回错误。

                命令名称:LPUSHX

                语法:LPUSHX key value

                功能:将值 value 插入到列表 key的表头,当且仅当 key存在并且是一个列                               表。和 LPUSH 命令相反,当 key 不存在时,LPUSHX 什么也不做。

                返回值:LPUSHX 命令执行后,列表的长度。失败返回 0。

                命令名称:LINSERT

                语法:LINSERT key BEFORE|AFTER pivot value

                功能:将值 value 插入到列表 key 当中,位于值 pivot之前或之后。当                                     pivot 不存在于列表 key时,不执行任何操作。当 key 不存在时,key                             被视为空列表,不执行任何操作。

                返回值:如果命令执行成功,返回插入操作完成后的列表长度。如果没有找                                  到pivot,返回 -1.如果 key 不存在或为空列表,返回 0。

                命令名称:LSET

                语法:LSET key index value

                功能:将列表 key 下标为 index的元素的值设置为 value。当 index 参数超                             出范围,或对一个空列表进行操作时,返回错误。当 key 不存在时,                             key被视为空列表,不执行任何操作。

                返回值:操作成功返回 OK,否则返回错误信息。

                命令名称:RPUSH

                语法:RPUSH key value [value ...]

                功能:将一个或多个值 value 插入到列表 key 的表尾。如有多个 value 值,                             那么各个 value 值按从左到右的顺序依次插入到表尾。操作为原子性                             操作,如果 key 不存在,一个空列表会被创建并执行 RPUSH 操作。

                返回值:执行 RPUSH 命令后,列表的长度;如果key不是列表,返回错误。

                命令名称:RPUSHX

                语法:RPUSHX key value

                功能:将值 value 插入到列表 key的表尾,当且仅当 key存在并且是一个列                               表。和 RPUSH 命令相反,当 key 不存在时,RPUSHX 什么也不做。

                返回值:RPUSHX 命令执行后,列表的长度。失败返回 0。

Redis列表类型键的查询

                命令名称:LINDEX

                语法:LINDEX key index

                功能:返回列表 key 中,下标为 index 的元素,0 为第一个元素,-1为最后                             一个元素。

                返回值:列表中下标为 index 的元素。如果 index 参数的值不在列表的区间                                范围内(out of range),返回 nil。

                命令名称:LLEN

                语法:LLEN key

                功能:返回列表 key 的长度。

                返回值:如果 key 不存在,则 key 被解释为一个空列表,返回 0。否则返回                                列表长度。

                命令名称:LRANGE

                语法:LRANGE key start stop

                功能:返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指                               定。下标(index)参数 start 和 stop 都以 0 为底。你也可以使用负数                               下标,以 -1 表示列表的最后一个元素。

                返回值:一个列表,包含指定区间内的元素。超出范围的下标值不会报错误

Redis列表类型键的删除

                命令名称:LPOP

                语法:LPOP key

                功能:移除并返回列表 key 的头元素。

                返回值:列表的头元素。当 key 不存在时,返回 nil。

                命令名称:LREM

                语法:LREM key count value

                功能:根据参数 count 的值,移除列表中与参数 value 相等的元素。

count > 0:从表头开始向表尾搜索,移除与 value 相等的元素,数量                               为count;count < 0:从表尾开始从表头搜索,移除与 value 相等的                               元素,数量为 count 的绝对值;count = 0:移除表中所有与 value 相                             等的值。

                返回值:被移除元素的数量

                命令名称:LTRIM

                语法:LTRIM key start stop

                功能:对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元                               素,不在指定区间内的元素全部删除

                返回值:命令执行成功时,返回 OK

                命令名称:RPOP

                语法:RPOP key

                功能:移除并返回列表 key 的尾元素。

                返回值:列表的尾元素。当 key 不存在时,返回 nil。

                命令名称:RPOPLPUSH

                语法:RPOPLPUSH source destination

                功能:命令 RPOPLPUSH 在一个原子时间内,执行以下两个动作:将列表                                 source中的最后一个元素(尾元素)弹出,并返回给客户端;将 source                             弹出的元素插入到列表 destination,作为 destination列表的头元                                 素。

                返回值:被弹出的元素

Redis列表类型键的阻塞式操作

                命令名称:BLPOP

                语法:BLPOP key [key ...] timeout

                功能:BLPOP是列表的阻塞式(blocking)弹出原语,LPOP 命令的阻塞版                                 本,当给定列表内没有任何元素可供弹出时,连接将被 BLPOP 命令                               阻塞,直到等待超时或发现可弹出元素为止。

                返回值:被弹出的元素

                命令名称:BRPOP

                语法:BRPOP key [key ...] timeout

                功能:BRPOP 除了弹出元素是从表尾以外,其他表现与 BLPOP 一致。

                返回值:假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时                                  长。反之,返回一个含有两个元素的列表,第一个元素是被弹出元                                  素所属的 key,第二个元素是被弹出元素的值。

                命令名称:BRPOPLPUSH

                语法:BRPOPLPUSH source destination timeout

                功能:BRPOPLPUSH 是 RPOPLPUSH 的阻塞版本,当给定列表 source                               不为空时,BRPOPLPUSH 的表现和 RPOPLPUSH 一样。当列表                                 source 为空时,BRPOPLPUSH 命令将阻塞连接,知道等待超时,                               或有另一个客户端对 source 执行 LPUSH 或 RPUSH 命令为止。超                               时参数 timeout 接受一个以秒为单位的数字作为值。超时参数设为 0                             表示阻塞时间可以无限期延长(block indefinitely)。

                返回值:假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时                                  长。反之,返回一个含有两个元素的列表,第一个元素是被弹出元                                  素的值,第二个元素是等待时长。

Redis集合类型

基本概念:

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。集合中最大的成员数为 2^32 - 1(4294967295,每个集合可存储40多亿个成员)。

应用场景:

共同好友;好友推荐。

基本命令:

Redis集合类型键的设置

                命令名称:SADD

                语法:SADD key member [member ...]

                功能:将一个或多个 member 元素加入到集合 key 当中,已经存在于集合                               的 member 元素将被忽略。假如 key 不存在,则创建一个只包含                                   member 元素作为成员的集合。当 key 不是集合类型时,返回一个错                             误。

                返回值:被添加到集合中的新元素数量,不包括被忽略的元素。

Redis集合类型键的查询

                命令名称:SCARD

                语法:SCARD key

                功能:返回集合 key 的基数(集合中元素的数量)。

                返回值:集合的基数。当 key 不存在时,返回 0 。

                命令名称:SMEMBERS

                语法:SMEMBERS key

                功能:返回集合 key 中的所有成员。不存在的 key 被视为空集合。

                返回值:集合中的所有成员。

                命令名称:SISMEMBER

                语法:SISMEMBER key member

                功能:判断 member 元素是不是集合 key 的成员。

                返回值:如果是,返回 1。如果不是,或 key 不存在,返回 0。

                命令名称:SRANDMEMBER

                语法:SRANDMEMBER key [count]

                功能:如果命令执行时,只提供了key参数,那么返回集合中一个随机元素。

                返回值:只提供 key 参数时,返回一个元素。如果集合为空,返回 nil。

                命令名称:SSCAN

                语法:SSCAN key cursor [MATCH pattern] [COUNT count]

                功能:用于迭代集合键中的元素。

                返回值:集合中的成员。

Redis集合类型键之间的关系

                命令名称:SDIFF

                语法:SDIFF key [key ...]

                功能:返回一个集合的全部成员,该集合是所有给定集合之间的差集。不存                               在的 key 被视为空集。

                返回值:一个包含差集成员的列表。

                命令名称:SDIFFSTORE

                语法:SDIFFSTORE destination key [key ...]

                功能:这个命令的作用和 SDIFF 类似,但它将结果保存到 destination 集                                 合,而不是简单地返回结果集。如果 destination 集合已经存在,则                               将其覆盖。destination 可以是 key 本身。

                返回值:差集成员的数量。

                命令名称:SINTER

                语法:SINTER key [key ...]

                功能:返回一个集合的全部成员,该集合是所有给定集合的交集。不存在的                               key 被视为空集。当给定集合当中有一个空集时,结果也为空集(根据                             集合运算定律)。

                返回值:交集成员的列表。

                命令名称:SINTERSTORE

                语法:SINTERSTORE destination key [key ...]

                功能:这个命令的作用和 SINTER 类似,但它将结果保存到 destination 集                             合,而不是简单地返回结果集。如果 destination 集合已经存在,则                               将其覆盖。destination 可以是 key 本身。

                返回值:结果集成员的数量。

                命令名称:SUNION

                语法:SUNION key [key ...]

                功能:返回一个集合的全部成员,该集合是所有给定集合的并集。不存在的                               key 被视为空集。当给定集合当中有一个空集时,结果也为空集(根据                             集合运算定律)。

                返回值:并集成员的列表。

                命令名称:SUNIONSTORE

                语法:SUNIONSTORE destination key [key ...]

                功能:这个命令的作用和 SUNION 类似,但它将结果保存到 destination 集                             合,而不是简单地返回结果集。如果 destination 集合已经存在,则                               将其覆盖。destination 可以是 key 本身。

                返回值:结果集成员的数量。

Redis集合类型键的删除

                命令名称:SPOP

                语法:SPOP key

                功能:移除并返回集合中的一个随机元素。

                返回值:被移除的随机元素。当 key 不存在或者是空集时,返回 nil

                命令名称:SREM

                语法:SREM key member [member ...]

                功能:移除集合 key 中的一个或多个 member 元素,不存在的 member 元                             素会被忽略。当 key 不是集合类型,返回一个错误。

                返回值:被成功移除的元素的数量,不包括被忽略的元素。

                命令名称:SMOVE

                语法:SMOVE source destination member

                功能:将 member 元素从 source 集合移动到 destination 集合。SMOVE                               是原子性操作。如果 source 集合不存在或不包含指定的 member 元                             素,则 SMOVE 命令不执行任何操作,仅返回 0。当 destination 集                               合已经包含 member 元素时,SMOVE命令只是简单地将 source 集                               合中的 member 元素删除。

                返回值:如果 member 元素被成功移除,返回 1。如果 member 元素不是                                   source 集合的成员,并且没有任何操作对 destination 集合执                                       行,那么返回 0。当 source 或 destination 不是集合类型时,返                                   回一个错误。

Redis有序集合类型

基本概念:

Redis 有序集合和集合一样,也是 String 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。Redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合中最大的成员数为 2^32 - 1(4294967295,每个集合可存储40多亿个成员)

应用场景:

排行榜。

基本命令:

Redis有序集合类型键的设置

                命令名称:ZADD

                语法:ZADD key score member [[score member] ...]

                功能:将一个或多个 member 元素及其 score 值加入到有序集 key 当中。                               如果某个 member 已经是有序集的成员,那么更新这个 member 的                               score 值,并通过重新插入这个 member 元素,来保证 member 在                               正确的位置上。score 值可以是整数值或双精度浮点数。如果 key 不                             存在,则创建一个空的有序集并执行 ZADD 操作。当 key 存在但不                               是有序集类型时,返回一个错误。

                返回值:被成功添加的新成员数量,不包括那些被更新的已经存在的成员。

                命令名称:ZINCRBY

                语法:ZINCRBY key increment member

                功能:为有序集 key 的成员 member 的 score 值加上增量increment(可                                 负)。当 key 不存在,或 member 不是 key 的成员时, ZINCRBY 等                             同于 ZADD。

                返回值:当 key 不是有序集类型时,返回一个错误。member 成员的新                                       score 值,以字符串形式表示。

Redis有序集合类型键的查询

                命令名称:ZCARD

                语法:ZCARD key

                功能:返回有序集合 key 的基数(有序集合中元素的数量)。

                返回值:当 key 存在且是有序集类型时,返回有序集的基数。当 key 不存在                                时,返回 0 。

                命令名称:ZCOUNT

                语法:ZCOUNT key min max

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

                返回值:score 值在 min 和 max 之间的成员的数量。

                命令名称:ZRANGE

                语法:ZRANGE key start stop [WITHSCORES]

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

                返回值:指定区间内,带有 score 值(可选)的有序集成员的列表。

                命令名称:ZRANGEBYSCORE

                语法:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset                                 count]

                功能:返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于                               min 或 max)的成员。有序集成员按 score 值递增(从小到大)次序排                               列。

                返回值:指定区间内,带有 score 值(可选)的有序集成员的列表。

                命令名称:ZRANK

                语法:ZRANK key member

                功能:返回有序集 key 中成员 member 的排名。其中有序集成员按 score                               值递增(从小到大)顺序排列。排名以 0 为底,也就是说,score 值最                               小的成员排名为 0。

                返回值:如果 member 是有序集 key 的成员,返回 member 的排名。如果                                member 不是有序集 key 的成员,返回 nil。

                命令名称:ZREVRANGE

                语法:ZREVRANGE key start stop [WITHSCORES]

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

                返回值:指定区间内,带有 score 值(可选)的有序集成员的列表。

                命令名称:ZREVRANGEBYSCORE

                语法:ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT                                   offset count]

                功能:返回有序集 key 中,所有 score 值介于 max 和 min 之间(包括等于                               max 或 min)的成员。有序集成员按 score 值递减(从大到小)次序排                               列。

                返回值:指定区间内,带有 score 值(可选)的有序集成员的列表。

                命令名称:ZREVRANK

                语法:ZREVRANK key member

                功能:返回有序集 key 中成员 member 的排名。其中有序集成员按 score                               值递减(从大到小)顺序排列。排名以 0 为底,也就是说,score 值最                               大的成员排名为 0。

                返回值:如果 member 是有序集 key 的成员,返回 member 的排名。如果                                member 不是有序集 key 的成员,返回 nil。

                命令名称:ZSCORE

                语法:ZSCORE key member

                功能:返回有序集 key 中,成员 member 的 score 值。如果 member 元素                             不是有序集 key 的成员,或 key 不存在,返回 nil。

                返回值:member 成员的 score 值,以字符串形式表示。

                命令名称:ZSCAN

                语法:ZSCAN key cursor [MATCH pattern] [COUNT count]

                功能:用于迭代有序集合键中的元素。

                返回值:有序集合中的成员。

                命令名称:ZRANGEBYLEX

                语法:ZRANGEBYLEX key min max [WITHSCORES] [LIMIT offset                                       count]

                功能:当有序集合的所有成员都具有相同的分值时,有序集合的元素会根据                               成员的字典序(lexicographical ordering)来进行排序,而这个命令则                             可以返回给定的有序集合键 key 中,值介于 min 和 max 之间的成                                 员。

                返回值:一个列表,列表里面包含了有序集合在指定范围内的成员。

                命令名称:ZLEXCOUNT

                语法:ZLEXCOUNT key min max

                功能:对于一个所有成员的分值都相同的有序集合键 key 来说,这个命令会                             返回该集合中,成员介于 min 和 max 范围内的元素数量。

                返回值:整数回复:指定范围内的元素数量。

Redis有序集合类型键之间的关系

                命令名称:ZUNIONSTORE

                语法:ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS                                   weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

                功能:计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以                                 numkeys 参数指定,并将该并集(结果集)储存到 destination。默认                               情况下,结果集中某个成员的 score 值是所有给定集下该成员 score                             值之和。

                返回值:保存到 destination 的结果集的基数。

                命令名称:ZINTERSTORE

                语法:ZINTERSTORE destination numkeys key [key ...] [WEIGHTS                                     weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

                功能:计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以                                 numkeys 参数指定,并将该交集(结果集)储存到 destination。默认                               情况下,结果集中某个成员的 score 值是所有给定集下该成员 score                             值之和。

                返回值:保存到 destination 的结果集的基数。

Redis有序集合类型键的删除

                命令名称:ZREM

                语法:ZUNIONSTORE keys member [member ...]

                功能:移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。当                                 key 存在但不是有序集类型时,返回一个错误。

                返回值:被成功移除的成员数量,不包括被忽略的成员。

                命令名称:ZREMRANGEBYRANK

                语法:ZREMRANGEBYRANK key start stop

                功能:移除有序集 key 中,指定排名(rank)区间内的所有成员。区间分别以                               下标参数 start 和 stop 指出,包含 start 和 stop 在内。

                返回值:被移除的成员数量。

                命令名称:ZREMRANGEBYSCORE

                语法:ZREMRANGEBYSCORE key min max

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

                返回值:被移除的成员数量。

                命令名称:ZREMRANGEBYLEX

                语法:ZREMRANGEBYLEX key min max

                功能:对于一个所有成员的分值都相同的有序集合键 key 来说,这个命令会                             移除该集合中,成员介于 min 和 max范围内的所有元素。

                返回值:被移除的元素数量。

(以上内容仅供学习参考,若有错误之处欢迎指正交流)

一篇文章带你搞懂Redis(超级无敌最最最详细版本)(命令大全)(真·收藏必备)相关推荐

  1. 一篇文章带你搞懂网络层(网际层)-- 地址篇

    网络层(Network Layer)是OSI模型中的第三层(TCP/IP模型中的网际层),提供路由和寻址的功能,使两终端系统能够互连且决定最佳路径,并具有一定的拥塞控制和流量控制的能力.相当于发送邮件 ...

  2. 一篇文章带你搞懂微信小程序的开发过程

    点击上方"前端进阶学习交流",进行关注 回复"前端"即可获赠前端相关学习资料 今 日 鸡 汤 只解沙场为国死,何须马革裹尸还. 大家好,我进阶学习者. 前言 小 ...

  3. 谷歌SEO很复杂?一篇文章带你搞懂它(外贸人必读)

    这篇文章是对谷歌SEO流程的一个梳理,此文会用通俗易懂的语言告诉你做Google SEO必须知道的常识.建议和谷歌优化的方法思路. 任何关于谷歌SEO的疑问,可到此文⬇️留言,免费咨询: Google ...

  4. 一篇文章带你搞懂 DEX 文件的结构

    From:https://blog.csdn.net/sinat_18268881/article/details/55832757 Dex文件格式详解:https://www.jianshu.com ...

  5. 一篇文章带你搞懂慢SQL以及优化的策略

    文章目录 一.什么是慢SQL ? 二.为什么要对慢SQL进行优化? 三.数据库性能 1. 最大数据量 2. 最大并发数 3. 查询耗时0.5秒 4. 具体实施 四.数据库表的设计 1. 数据类型 2. ...

  6. 一篇文章带你搞懂前端面试技巧及进阶路线

    大家好,我是若川.最近有很多朋友给我后台留言: 自己投了不少简历,但是收到的面试邀请却特别少: 好不容易收到了大厂的面试邀请,但由于对面试流程不清楚,准备的特别不充分,结果也挂了: 对于面试官的问题, ...

  7. 一篇文章带你搞透redis高性能IO模型

    Redis作为K-V数据库,应用非常广泛,在各大厂的面试中,redis也是绕不开的一个话题.我们说redis快,常规的解释是redis是基于内存实现的以及它的高效的数据结构,其实redis快的原因还有 ...

  8. 一篇文章带你搞懂数据链路层

    数据链路层,简称链路层.两个主机之间的数据传输,总是在一段一段的链路上面传送的,也就是说,在两个相邻结点之间(主机与路由器之间 或者 两个路由器之间)传送数据是直接传送的(点对点).这时,就需要使用专 ...

  9. 一篇文章带你学懂Redis

    1 是什么 Redis:REmote DIctionary Server(远程字典服务器) 是完全开源免费的,用C语言编写的,遵守BSD协议, 是一个高性能的(key/value)分布式内存数据库,基 ...

最新文章

  1. 解决LaTex中插入Visio画图有多余边框的问题
  2. python求n项多项式的和_Python:创建n次多项式
  3. aws lambda使用_使用AWS Lambda,S3和AWS CloudFront进行动态内容缓存
  4. 一文读懂视频监控系统全过程内容
  5. 消息已读未读的模型设计_阿里云技术专家分享:现代 IM 系统中消息推送和存储架构的实现...
  6. 代数式对应的C语言表达式不等价的是( ),C语言重修复习题分析.doc
  7. 互联网创业是没有什么好计划的
  8. 【数据库系统设计】DBMS的数据库保护
  9. java地址有什么构成_IP地址采用分层结构,由(     )组成。
  10. gitLab下载安装和使用教程
  11. Office批量打印助手(Excel 批量打印、Word 批量打印)
  12. 歌声合成系列教程《1》
  13. SMI/SAMI 字幕
  14. 英语笔记1.2.2022
  15. 深究:app如何实现即时通讯
  16. 科研伦理与学术规范-期末考试答案
  17. 联网技术架构讨论:Facebook 如何管理150亿张照片
  18. python做动态表情包下载_用 Python 开发一个【GIF表情包制作神器】
  19. PHP的ES入门(一)—— Index的创建和删除
  20. 为什么说图像的低频是轮廓,高频是噪声和细节

热门文章

  1. 国产Linux操作系统读写RFID、NFC、IC卡示例源码
  2. Linux设置时间、自动更新网络时间、设置时间为24小时制
  3. 详解JS原型与原型链
  4. golang go语言_为什么Go是作为PHP开发人员学习的功能强大的语言
  5. C# 结合Halcon软件视觉窗体滚轮放大/双击放大/滚轮缩小/双击缩小/移动/自适应功能
  6. ubuntu运用软件和更新自动安装NVIDIA显卡驱动
  7. Java数组常用操作
  8. iOS11适配全局设置
  9. 冷却水的循环方式有哪几种_循环冷却水系统,按照通风方式可分为 和 两种。...
  10. 微信“跳一跳”高分技巧