Redis基础学习笔记(二)

Redis-cli 交互命令参数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
连接参数:

-h <hostname> 指定 Redis 服务器的主机名或 IP 地址。
-p <port> 指定 Redis 服务器的端口号。
-a <password> 提供密码进行身份验证。
-n <dbnum> 选择特定的数据库(默认为 0)。
SSL/TLS 参数:

--tls 启用 SSL/TLS 加密连接。
--cacert <file> 指定信任的 CA 证书文件。
--cert <file> 和 --key <file> 指定客户端证书和私钥。
输入和输出参数:

-x 将标准输入视为命令的最后一个参数。
--raw 和 --no-raw 分别用于强制原始输出或人类可读输出。(中文)
其他特殊命令:

PING 检查 Redis 服务器是否响应。
INFO 显示服务器的各种信息和统计数据。

事务

事务的特性

1️⃣ 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。

2️⃣ 一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

3️⃣ 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

4️⃣ 持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

#️⃣在Redis事务没有没有隔离级别的概念!

#️⃣在Redis单条命令式保证原子性的,但是事务不保证原子性!

实现事务

multi # 开启事务
exec # 执行事务
discard # 放弃事务
### 编译时报错,所有都不会被执行(一开始就报错)
### 运行时报错,其他命令正常执行

乐观锁

乐观锁的特性

1️⃣ 当程序中可能出现并发的情况时,就需要保证在并发情况下数据的准确性,以此确保当前用户和其他用户一起操作时,所得到的结果和他单独操作时的结果是一样的。

2️⃣ 没有做好并发控制,就可能导致脏读、幻读和不可重复读等问题。

watch key #监视锁
unwatch key #取消监视
0%