自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 ECHO

打印一个特定的信息 message ,测试时使用。message 自身。

2023-08-10 09:13:25 87

原创 QUIT

总是返回 OK (但是不会被打印显示,因为当时 Redis-cli 已经退出)。一旦所有等待中的回复(如果有的话)顺利写入到客户端,连接就会被关闭。请求服务器关闭与当前客户端的连接。

2023-08-10 09:08:14 178

原创 AUTH

因为 Redis 高性能的特点,在很短时间内尝试猜测非常多个密码是有可能的,因此请确保使用的密码足够复杂和足够长,以免遭受密码猜测攻击。如果开启了密码保护的话,在每次连接 Redis 服务器之后,就要使用 AUTH 命令解锁,解锁之后才能使用其他 Redis 命令。如果 AUTH 命令给定的密码 password 和配置文件中的密码相符的话,服务器会返回 OK 并开始接受命令输入。另一方面,假如密码不匹配的话,服务器将返回一个错误,并要求客户端需重新输入密码。密码匹配时返回 OK ,否则返回一个错误。

2023-08-10 09:07:41 86

原创 PING

使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG。# 客户端和服务器连接不正常(网络不正常或服务器未能正常运行)通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值。如果连接正常就返回一个 PONG ,否则返回一个连接错误。# 客户端和服务器连接正常。

2023-08-10 09:06:44 66

原创 FLUSHDB

redis> DBSIZE # 清空前的 key 数量。redis> DBSIZE # 清空后的 key 数量。清空当前数据库中的所有 key。

2023-08-10 09:05:23 58

原创 DBSIZE

redis> SET new_key "hello_moto" # 增加一个 key 试试。返回当前数据库的 key 的数量。当前数据库的 key 的数量。

2023-08-10 09:04:47 34

原创 SELECT

redis[1]> GET db_number # 已经切换到 1 号数据库,注意 Redis 现在的命令提示符多了个 [1]redis[3]> # 提示符从 [1] 改变成了 [3]redis> SET db_number 0 # 默认使用 0 号数据库。redis[1]> SELECT 3 # 再切换到 3 号数据库。redis> SELECT 1 # 使用 1 号数据库。

2023-08-10 09:04:12 22

原创 HSET

redis> HSET website google "www.g.cn" # 设置一个新域。redis> HSET website google "www.google.com" # 覆盖一个旧域。如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1。如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0。如果 key 不存在,一个新的哈希表被创建并进行 操作。如果域 field 已经存在于哈希表中,旧值将被覆盖。

2023-08-10 09:02:28 29

原创 HVALS

当 key 不存在时,返回一个空表。返回哈希表 key 中所有域的值。O(N), N 为哈希表的大小。一个包含哈希表中所有值的表。# 空哈希表/不存在的key。

2023-08-10 09:00:47 34

原创 MULTI

redis> INCR user_id # 多条命令按顺序入队。redis> MULTI # 标记事务开始。事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由。redis> EXEC # 执行。命令原子性(atomic)地执行。标记一个事务块的开始。

2023-08-09 17:51:19 35

原创 WATCH

监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

2023-08-09 17:50:49 27

原创 ZSCORE

redis> ZSCORE salary peter # 注意返回值是字符串。redis> ZRANGE salary 0 -1 WITHSCORES # 测试数据。如果 member 元素不是有序集 key 的成员,或 key 不存在,返回 nil。返回有序集 key 中,成员 member 的 score 值。member 成员的 score 值,以字符串形式表示。

2023-08-09 17:50:17 65

原创 SUBSCRIBE

1) "subscribe" # 返回值的类型:显示订阅成功。2) "msg" # 来源(从那个频道发送过来)3) (integer) 1 # 目前已订阅的频道数量。1) "message" # 返回值的类型:信息。2) "msg" # 订阅的频道名字。3) "hello moto" # 信息内容。O(N),其中 N 是订阅的频道的数量。接收到的信息(请参见下面的代码说明)。订阅给定的一个或多个频道的信息。

2023-08-09 17:49:34 71

原创 SDIFF

返回一个集合的全部成员,该集合是所有给定集合之间的差集。O(N), N 是所有给定集合的成员数量之和。不存在的 key 被视为空集。

2023-08-09 17:48:39 28

原创 SINTER

O(N * M), N 为给定集合当中基数最小的集合, M 为给定集合的个数。当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。返回一个集合的全部成员,该集合是所有给定集合的交集。不存在的 key 被视为空集。

2023-08-09 17:48:34 32

原创 ZADD

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

2023-08-09 17:47:53 45

原创 SCARD

redis> SCARD tool # 非空集合。redis> SCARD tool # 空集合。返回集合 key 的基数(集合中元素的数量)。当 key 不存在时,返回 0。

2023-08-09 17:46:33 35

原创 MIGRATE

命令的内部实现是这样的:它在当前实例对给定 key 执行 命令 ,将它序列化,然后传送到目标实例,目标实例再使用 对数据进行反序列化,并将反序列化所得的数据添加到数据库中;唯一不可能发生的情况就是丢失 key ,因此,如果一个客户端执行 命令,并且不幸遇上 IOERR 错误,那么这个客户端唯一要做的就是检查自己数据库上的 key 是否已经被正确地删除。将 key 原子性地从当前实例传送到目标实例的指定数据库上,一旦传送成功, key 保证会出现在目标实例上,而当前实例上的 key 会被删除。

2023-08-09 17:45:47 36

原创 MOVE

redis:1> EXISTS song # 证实 song 被移到了数据库 1 (注意命令提示符变成了"redis:1",表明正在使用数据库 1)redis:1> MOVE fake_key 0 # 试图从数据库 1 移动一个不存在的 key 到数据库 0,失败。如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。

2023-08-09 17:44:46 23

原创 RESTO

RESTORE 在执行反序列化之前会先对序列化值的 RDB 版本和数据校验和进行检查,如果 RDB 版本不相同或者数据不完整的话,那么 RESTORE 会拒绝进行反序列化,并返回一个错误。查找给定键的复杂度为 O(1) ,对键进行反序列化的复杂度为 O(N*M) ,其中 N 是构成 key 的 Redis 对象的数量,而 M 则是这些对象的平均大小。有序集合(sorted set)的反序列化复杂度为 O(N*M*log(N)) ,因为有序集合每次插入的复杂度为 O(log(N))。

2023-08-08 13:48:34 158

原创 SORT

返回或保存给定列表、集合、有序集合 key 中经过排序的元素。排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较。SORT key DESC 返回键值从大到小排序的结果。SORT key 返回键值从小到大排序的结果。一般 SORT 用法。

2023-08-08 13:47:56 22

原创 TTL

在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1。以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。当 key 存在但没有设置剩余生存时间时,返回 -1。否则,以秒为单位,返回 key 的剩余生存时间。# key 存在,但没有设置剩余生存时间。当 key 不存在时,返回 -2。# 有剩余生存时间的 key。# 不存在的 key。

2023-08-08 13:47:22 30

原创 TYPE

返回 key 所储存的值的类型。none (key不存在)string (字符串)zset (有序集)hash (哈希表)

2023-08-08 13:46:09 18

原创 SCAN

不过, 增量式迭代命令也不是没有缺点的: 举个例子, 使用 SMEMBERS 命令可以返回集合键当前包含的所有元素, 但是对于 SCAN 这类增量式迭代命令来说, 因为在对键进行增量式迭代的过程中, 键可能会被修改, 所以增量式迭代命令只能对被返回的元素提供有限的保证 (offer limited guarantees about the returned elements)。而 SCAN 命令则不需要在第一个参数提供任何数据库键 —— 因为它迭代的是当前数据库中的所有数据库键。

2023-08-08 13:45:32 31

原创 EXPIREAT

EXPIREAT EXPIREAT key timestamp EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置生存时间。不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。可用版本:>= 1.2.0时间复杂度:O(1)返回值:如果生存时间设置成功,返回 1。当 key 不存在或没办法设置生存时间,返回 0。

2023-08-08 13:43:10 78

原创 EXPIRE

命令的另一种可能是,尝试将一个带生存时间的 key 改名成另一个带生存时间的 another_key ,这时旧的 another_key (以及它的生存时间)会被删除,然后旧的 key 会改名为 another_key ,因此,新的 another_key 的生存时间也和原本的 key 一样。在 Redis 2.1.3 之前的版本中,修改一个带有生存时间的 key 会导致整个 key 被删除,这一行为是受当时复制(replication)层的限制而作出的,现在这一限制已经被修复。设置成功返回 1。

2023-08-08 13:42:27 36

原创 EXISTS

若 key 存在,返回 1 ,否则返回 0。检查给定 key 是否存在。

2023-08-08 13:41:29 15

原创 DUMP

查找给定键的复杂度为 O(1) ,对键进行序列化的复杂度为 O(N*M) ,其中 N 是构成 key 的 Redis 对象的数量,而 M 则是这些对象的平均大小。序列化给定 key ,并返回被序列化的值,使用 命令可以将这个值反序列化为 Redis 键。如果序列化的对象是比较小的字符串,那么复杂度为 O(1)。如果 key 不存在,那么返回 nil。序列化的值不包括任何生存时间信息。否则,返回序列化之后的值。

2023-08-08 13:40:59 17

原创 DEL

删除单个列表、集合、有序集合或哈希表类型的 key ,时间复杂度为O(M), M 为以上数据结构内的元素数量。删除单个字符串类型的 key ,时间复杂度为O(1)。O(N), N 为被删除的 key 的数量。删除给定的一个或多个 key。不存在的 key 会被忽略。被删除 key 的数量。

2023-08-08 13:39:24 21

原创 mysql权限管理查看用户权限

G使每个字段打印到单独的行,也有’;

2023-06-30 08:57:04 286

原创 收回权限、删除用户

删除已存在的用户,默认删除的是’XXX’@’%‘这个用户,如果还有其他的用户如’XXX’@‘localhost’等,不会一起被删除。如果要删除’XXX’@‘localhost’,使用drop删除时需要加上host即drop user ‘XXX’@‘localhost’。

2023-06-30 08:56:36 89

原创 mysql权限管理授权

备注:可以使用GRANT重复给用户添加权限,权限叠加,比如你先给用户添加一个select权限,然后又给用户添加一个insert权限,那么该用户就同时拥有了select和insert权限。注意:经常有人在创建操作用户的时候不指定WITH GRANT OPTION选项导致后来该用户不能使用GRANT命令创建用户或者给其它用户授权。前面表示用户,@后面接限制的主机,可以是IP、IP段、域名以及%,%表示任何地方。这个选项表示该用户可以将自己拥有的权限授权给别人。表示将权限赋予某个用户。指定用户的登录密码。

2023-06-30 08:55:46 38

原创 mysql权限管理

全局——可以管理整个MySQL库——可以管理指定的数据库表——可以管理指定数据库的指定表字段——可以管理指定数据库的指定表的指定字段权限存储在mysql库的这几个系统表中,待MySQL实例启动后就加载到内存中。

2023-06-30 08:54:14 29

原创 mysql权限管理

revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';SHOW GRANTS FOR '用户名'@'主机名';-- 给张三用户授予所有权限,在任意数据库任意表上。

2023-06-30 08:52:59 23

原创 基础关键字

- 2 查询员工信息,并且工资等于9000的。-- 一条sql就完成这个操作。-- 1 查询最高的工资是多少 9000。-- 查询工资最高的员工信息。

2023-06-29 10:25:38 23

原创 基础关键字

SELECT * FROM emp WHERE dept_id IN (SELECT id FROM dept WHERE NAME = '财务部' OR NAME = '市场部');SELECT id FROM dept WHERE NAME = '财务部' OR NAME = '市场部';-- 查询'财务部'和'市场部'所有的员工信息。

2023-06-29 10:19:30 20

原创 基础关键字

-- 例子SELECT * FROM person ORDER BY math; --默认升序SELECT * FROM person ORDER BY math desc; --降序

2023-06-29 10:18:56 21

原创 基础关键字

select 字段列表 from 表1 right [outer] join 表2 on 条件;

2023-06-29 10:18:17 21

原创 基础关键字

- 查询员工入职日期是2011-11-11日之后的员工信息和部门信息。

2023-06-29 10:16:58 18

原创 基础关键字

- 语法:select 字段列表 from 表1 left [outer] join 表2 on 条件;-- 查询所有员工信息,如果员工有部门,则查询部门名称,没有部门,则不显示部门名称。

2023-06-29 10:16:19 22

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除